programing

판다 데이터 프레임의 특정 행을 인쇄하는 방법은 무엇입니까?

newstyles 2023. 5. 29. 09:56

판다 데이터 프레임의 특정 행을 인쇄하는 방법은 무엇입니까?

데이터 프레임이 방대한데 다음과 같은 오류가 발생합니다.

TypeError: ("Empty 'DataFrame': no numeric data to plot", 'occurred at index 159220')

저는 이미 null을 삭제하고 데이터 프레임에 대한 dtype을 확인했는데 왜 해당 행에서 실패하는지는 짐작할 수 없습니다.

데이터 프레임의 해당 행(색인 159220)만 인쇄하려면 어떻게 해야 합니까?

전화할 때loc스칼라 값으로, 당신은 다음을 얻습니다.pd.Series그러면 해당 시리즈에 하나가 있습니다.dtype행을 데이터 프레임에 있는 그대로 보려면 인덱서와 같은 배열을 다음으로 전달합니다.loc.

인덱스 값을 추가 대괄호 쌍으로 묶습니다.

print(df.loc[[159220]])

특정 행을 인쇄하려면 판다 두 개 방법이 있습니다.

  1. loc레이블(예: 열 이름 또는 피쳐)만 가져옵니다.
  2. iloc여기서 i는 정수, 실제로 행 번호를 나타냅니다.
  3. ix라벨과 정수가 혼합되어 있습니다.

특정 행에 대한 사용 방법

  1. loc
df.loc[row,column]

첫 번째 행 및 모든 열의 경우

df.loc[0,:]

첫 번째 행 및 일부 특정 열의 경우

df.loc[0,'column_name']
  1. 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