it-swarm.com.de

Wie drucke ich eine bestimmte Zeile eines pandas DataFrame?

Ich habe einen massiven Datenrahmen und erhalte den Fehler:

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

Ich habe bereits Nullen gelöscht und dtypes für den DataFrame überprüft, sodass ich nicht weiß, warum es in dieser Zeile fehlschlägt.

Wie drucke ich nur diese Zeile (bei Index 159220) des Datenrahmens aus?

Vielen Dank

33
singmotor

Wenn Sie loc mit einem Skalarwert aufrufen, erhalten Sie ein pd.Series. Diese Reihe wird dann einen dtype haben. Wenn Sie die Zeile so sehen möchten, wie sie sich im Datenrahmen befindet, müssen Sie ein Array wie den Indexer an loc übergeben.

Wickeln Sie Ihren Indexwert mit einem zusätzlichen Paar eckiger Klammern ein

print(df.loc[[159220]])
32
piRSquared

Um eine bestimmte Zeile auszudrucken, haben wir einige pandas method

  1. loc - Es wird nur die Bezeichnung "Spaltenname" oder "Features" angezeigt
  2. iloc - Hier steht ich für Integer, eigentlich Zeilennummer
  3. ix - Es ist eine Mischung aus Label und Integer

Verwendung für eine bestimmte Zeile

  1. loc
df.loc[row,column]

Für die erste Zeile und alle Spalten

df.loc[0,:]

Für die erste Zeile und eine bestimmte Spalte

df.loc[0,'column_name']
  1. iloc

Für die erste Zeile und alle Spalten

df.iloc[0,:]

Für die erste Reihe und eine bestimmte Spalte, d. H. Die ersten drei Spalten

df.iloc[0,0:3]
15
kamran kausar

Verwenden Sie den Operator ix :

print df.ix[159220]
14
CK Chen

Klingt so, als würden Sie df.plot() aufrufen. Dieser Fehler zeigt an, dass Sie versuchen, Plot einen Frame zu erstellen, der keine numerischen Daten enthält. Die Datentypen sollten nicht beeinflussen, was Sie print().

Benutze print(df.iloc[159220])

4
Batman