programing

데이터 프레임의 모든 열에서 데이터 출력(판다)

randomtip 2023. 8. 9. 23:01
반응형

데이터 프레임의 모든 열에서 데이터 출력(판다)

있습니다.params.csv는 열었요를 .ipython qtconsole그리고 판다를 만들었습니다.dataframe매개 변수:

import pandas
paramdata = pandas.read_csv('params.csv', names=paramnames)

디에어,paramnames문자열 개체의 파이썬 목록입니다.paramnames실제 목록의 길이는 22):

paramnames = ["id",
"fc",
"mc",
"markup",
"asplevel",
"aspreview",
"reviewpd"]

에서 ipython을 하면 됩니다.paramdata그리고 Enter 키를 누르면 Pandas사이트의 예제와 같이 열과 값이 있는 데이터 프레임이 표시되지 않습니다.대신, 저는 데이터 프레임에 대한 정보를 얻습니다.이해합니다.

In[35]: paramdata
Out[35]: 
<class 'pandas.core.frame.DataFrame'>
Int64Index: 59 entries, 0 to 58
Data columns:
id                    59  non-null values
fc                    59  non-null values
mc                    59  non-null values
markup                59  non-null values
asplevel              59  non-null values
aspreview             59  non-null values
reviewpd              59  non-null values

가 면하력으로 .paramdata['mc']그러면 나는 예상대로 값을 얻습니다.mc기둥.두 가지 질문이 있습니다.

판다 웹사이트의 예에서 (예를 들어, 의 출력을 참조하십시오.df여기: http://pandas.sourceforge.net/indexing.html#additional-column-access) 에서 데이터 프레임의 이름을 입력하면 실제 데이터가 제공됩니다.실제 데이터 대신 위와 같은 데이터 프레임에 대한 정보를 얻는 이유는 무엇입니까?어딘가에 출력 옵션을 설정해야 합니까?

합니까?paramdata[['id','fc','mc']].

저는 판다 0.8 버전을 사용하고 있습니다.

감사해요.

사용:

pandas.set_option('display.max_columns', 7)

이렇게 하면 판다가 7개의 열을 표시합니다.또는 더 일반적으로:

pandas.set_option('display.max_columns', None)

원하는 수의 열을 표시합니다.

은 " " " 입니다.max_columns이라0모든 열을 콘솔 너비에 밀어 넣을 수 있는 경우에만 표를 표시하도록 Pandas에 지시합니다.

또는 다음과 같은 예를 사용하여 콘솔 너비(문자)를 기본값인 80에서 변경할 수 있습니다.

pandas.set_option('display.width', 200)

데이터가 너무 많아 화면에 표시할 수 없으므로 요약이 대신 표시됩니다.

데이터를 출력하려면(아마도 화면에 맞지 않고 잘 보이지 않을 것입니다):

print paramdata.values

데이터 프레임을 numpy-array 행렬 표현으로 변환합니다.

paramdata.columns

각 열 이름을 저장합니다.

paramdata.index

각 인덱스(행 이름)를 저장합니다.

이것이 오래된 질문이라는 것을 알지만, 저는 방금 비슷한 문제를 겪었고 제가 한 일이 당신에게도 도움이 될 것이라고 생각합니다.

to_csv() 메서드를 사용하여 stdout에 다음과 같이 썼습니다.

import sys

paramdata.to_csv(sys.stdout)

이렇게 하면 인쇄 가능 여부에 관계없이 전체 데이터 프레임을 덤프해야 하며 to_csv 매개 변수를 사용하여 열 구분 기호, 인덱스 인쇄 여부 등을 구성할 수 있습니다.

편집: 이제 사용할 수 있습니다.None의 목표로.to_csv()비슷한 효과로, 거의 틀림없이 훨씬 더 좋은 것입니다.

paramdata.to_csv(None)

ipython잘 작동하는 데이터 프레임의 일부를 인쇄하는 데 사용합니다(처음 100행 인쇄).

print paramdata.head(100).to_string()

사용할 수도 있습니다.DataFrame.head(x)/.tail(x)데이터 프레임의 첫 번째/마지막 x 행을 표시합니다.

나는 R에서 파이썬으로 올 것이고, R's.head()함수는 데이터를 볼 때 매우 편리한 방법으로 선을 감쌉니다.

> head(cbind(mtcars, mtcars, mtcars))
                   mpg cyl disp  hp drat    wt  qsec vs am gear carb  mpg cyl
Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4 21.0   6
Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4 21.0   6
Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1 22.8   4
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1 21.4   6
Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2 18.7   8
Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1 18.1   6
                  disp  hp drat    wt  qsec vs am gear carb  mpg cyl disp  hp
Mazda RX4          160 110 3.90 2.620 16.46  0  1    4    4 21.0   6  160 110
Mazda RX4 Wag      160 110 3.90 2.875 17.02  0  1    4    4 21.0   6  160 110
Datsun 710         108  93 3.85 2.320 18.61  1  1    4    1 22.8   4  108  93
Hornet 4 Drive     258 110 3.08 3.215 19.44  1  0    3    1 21.4   6  258 110
Hornet Sportabout  360 175 3.15 3.440 17.02  0  0    3    2 18.7   8  360 175
Valiant            225 105 2.76 3.460 20.22  1  0    3    1 18.1   6  225 105
                  drat    wt  qsec vs am gear carb
Mazda RX4         3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag     3.90 2.875 17.02  0  1    4    4
Datsun 710        3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive    3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 3.15 3.440 17.02  0  0    3    2
Valiant           2.76 3.460 20.22  1  0    3    1

저는 이 기능을 모방하기 위해 다음과 같은 작은 파이썬 기능을 개발했습니다.

def rhead(x, nrow = 6, ncol = 4):
    pd.set_option('display.expand_frame_repr', False)
    seq = np.arange(0, len(x.columns), ncol)
    for i in seq:
        print(x.loc[range(0, nrow), x.columns[range(i, min(i+ncol, len(x.columns)))]])
    pd.set_option('display.expand_frame_repr', True)

(판다와 뚱딴지에 따라 다릅니다, 분명히)

시퀀스 슬라이싱 구문을 사용할 수 있습니다. 즉,

paramdata[:5] # first five records
paramdata[-5:] # last five records
paramdata[:] # all records

때때로 데이터 프레임이 화면 버퍼에 맞지 않을 수 있습니다. 이 경우 작은 부분 집합을 인쇄하거나 다른 부분 집합, 플롯 또는 (csv 다시)로 내보내는 것이 더 나을 수 있습니다.

언급URL : https://stackoverflow.com/questions/11361985/output-data-from-all-columns-in-a-dataframe-in-pandas

반응형