판다 데이터 프레임의 특정 행을 인쇄하는 방법은 무엇입니까?
데이터 프레임이 방대한데 다음과 같은 오류가 발생합니다.
TypeError: ("Empty 'DataFrame': no numeric data to plot", 'occurred at index 159220')
저는 이미 null을 삭제하고 데이터 프레임에 대한 dtype을 확인했는데 왜 해당 행에서 실패하는지는 짐작할 수 없습니다.
데이터 프레임의 해당 행(색인 159220)만 인쇄하려면 어떻게 해야 합니까?
전화할 때loc
스칼라 값으로, 당신은 다음을 얻습니다.pd.Series
그러면 해당 시리즈에 하나가 있습니다.dtype
행을 데이터 프레임에 있는 그대로 보려면 인덱서와 같은 배열을 다음으로 전달합니다.loc
.
인덱스 값을 추가 대괄호 쌍으로 묶습니다.
print(df.loc[[159220]])
특정 행을 인쇄하려면 판다 두 개 방법이 있습니다.
loc
레이블(예: 열 이름 또는 피쳐)만 가져옵니다.iloc
여기서 i는 정수, 실제로 행 번호를 나타냅니다.ix
라벨과 정수가 혼합되어 있습니다.
특정 행에 대한 사용 방법
loc
df.loc[row,column]
첫 번째 행 및 모든 열의 경우
df.loc[0,:]
첫 번째 행 및 일부 특정 열의 경우
df.loc[0,'column_name']
iloc
첫 번째 행 및 모든 열의 경우
df.iloc[0,:]
첫 번째 행 및 일부 특정 열(예: 처음 세 개의 열)
df.iloc[0,0:3]
사용 연산자:
print df.ix[159220]
행=159220에 표시하려면
row=159220
#To display in a table format
display(df.loc[row:row])
display(df.iloc[row:row+1])
#To display in print format
display(df.loc[row])
display(df.iloc[row])
당신이 전화하는 것처럼df.plot()
이 오류는 숫자 데이터가 없는 프레임을 플롯하려는 것을 나타냅니다.데이터 유형이 데이터 유형에 영향을 미치지 않아야 합니다.print()
.
사용하다print(df.iloc[159220])
인덱스를 인덱싱하고 그 결과를 사용하여 행을 선택할 수도 있습니다.loc
:
row = 159220 # this creates a pandas Series (`row` is an integer)
row = [159220] # this creates a pandas DataFrame (`row` is a list)
df.loc[df.index[row]]
이는 정수 위치별로 행을 선택하고 이름별로 열을 선택하려는 경우 특히 유용합니다.예:
rows = 159220
cols = ['col2', 'col6']
df.loc[df.index[row], cols] # <--- OK
df.iloc[rows, cols] # <--- doesn't work
df.loc[cols].iloc[rows] # <--- OK but creates an intermediate copy
언급URL : https://stackoverflow.com/questions/43772362/how-to-print-a-specific-row-of-a-pandas-dataframe
'programing' 카테고리의 다른 글
Xcode의 기본 헤더 주석 라이센스 변경 (0) | 2023.05.29 |
---|---|
node.js에 폴더의 모든 파일이 필요합니까? (0) | 2023.05.29 |
예기치 않게 끝나는 URL에 대해 요청 형식을 인식할 수 없습니다. (0) | 2023.05.24 |
가 비어 있는지 확인하는 방법은 무엇입니까? (앵글 2+에서 지금까지) (0) | 2023.05.24 |
Express에서 "?" 다음에 GET 매개 변수에 액세스하는 방법은 무엇입니까? (0) | 2023.05.24 |