[python] 인덱스없이 팬더 DataFrame을 인쇄하는 방법
전체 데이터 프레임을 인쇄하고 싶지만 색인을 인쇄하고 싶지 않습니다.
게다가 하나의 열은 날짜 시간 유형이며 날짜가 아닌 시간을 인쇄하고 싶습니다.
데이터 프레임은 다음과 같습니다.
User ID Enter Time Activity Number
0 123 2014-07-08 00:09:00 1411
1 123 2014-07-08 00:18:00 893
2 123 2014-07-08 00:49:00 1041
나는 그것을 인쇄하고 싶다
User ID Enter Time Activity Number
123 00:09:00 1411
123 00:18:00 893
123 00:49:00 1041
답변
print df.to_string(index=False)
답변
print(df.to_csv(sep='\t', index=False))
또는 가능하면 :
print(df.to_csv(columns=['A', 'B', 'C'], sep='\t', index=False))
답변
아래 줄은 인쇄 할 때 DataFrame의 색인 열을 숨 깁니다.
df.style.hide_index()
답변
데이터 프레임을 예쁘게 인쇄하려면 tabulate package를 사용할 수 있습니다 .
import pandas as pd
import numpy as np
from tabulate import tabulate
def pprint_df(dframe):
print tabulate(dframe, headers='keys', tablefmt='psql', showindex=False)
df = pd.DataFrame({'col1': np.random.randint(0, 100, 10),
'col2': np.random.randint(50, 100, 10),
'col3': np.random.randint(10, 10000, 10)})
pprint_df(df)
특히 showindex=False
이름에서 알 수 있듯이을 사용하면 색인을 표시 할 수 없습니다. 결과는 다음과 같습니다.
+--------+--------+--------+
| col1 | col2 | col3 |
|--------+--------+--------|
| 15 | 76 | 5175 |
| 30 | 97 | 3331 |
| 34 | 56 | 3513 |
| 50 | 65 | 203 |
| 84 | 75 | 7559 |
| 41 | 82 | 939 |
| 78 | 59 | 4971 |
| 98 | 99 | 167 |
| 81 | 99 | 6527 |
| 17 | 94 | 4267 |
+--------+--------+--------+
답변
답변
문자열 / JSON을 인쇄하려면 다음을 사용하여 해결할 수 있습니다.
print(df.to_string(index=False))
그러나 데이터를 직렬화하거나 MongoDB로 보내려면 다음과 같은 작업을 수행하는 것이 좋습니다.
document = df.to_dict(orient='list')
이제 데이터 방향을 지정하는 6 가지 방법이 있습니다. 팬더 문서 를 더 잘 확인하십시오.
답변
“인덱스없이 데이터 프레임을 인쇄하는 방법”질문에 대답하려면 다음과 같이 인덱스를 빈 문자열 (데이터 프레임의 각 행마다 하나씩)의 배열로 설정할 수 있습니다.
blankIndex=[''] * len(df)
df.index=blankIndex
게시물의 데이터를 사용하는 경우 :
row1 = (123, '2014-07-08 00:09:00', 1411)
row2 = (123, '2014-07-08 00:49:00', 1041)
row3 = (123, '2014-07-08 00:09:00', 1411)
data = [row1, row2, row3]
#set up dataframe
df = pd.DataFrame(data, columns=('User ID', 'Enter Time', 'Activity Number'))
print(df)
일반적으로 다음과 같이 인쇄됩니다.
User ID Enter Time Activity Number
0 123 2014-07-08 00:09:00 1411
1 123 2014-07-08 00:49:00 1041
2 123 2014-07-08 00:09:00 1411
데이터 프레임에 행이있는 수만큼 빈 문자열로 배열을 작성하면 다음과 같습니다.
blankIndex=[''] * len(df)
df.index=blankIndex
print(df)
출력에서 색인을 제거합니다.
User ID Enter Time Activity Number
123 2014-07-08 00:09:00 1411
123 2014-07-08 00:49:00 1041
123 2014-07-08 00:09:00 1411
Jupyter Notebook에서이 스크린 샷에 따라 렌더링됩니다.
인덱스 열이없는 Juptyer Notebooks 데이터 프레임