web-dev-qa-db-ja.com

pandas DataFrameの特定の行を印刷する方法は?

私は大規模なデータフレームを持っていますが、エラーが発生しています:

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

すでにnullを削除し、DataFrameのdtypesをチェックしているので、その行で失敗する理由を推測できません。

データフレームのその行(インデックス159220)だけを印刷するにはどうすればよいですか?

ありがとう

33
singmotor

スカラー値でlocを呼び出すと、pd.Seriesを取得します。そのシリーズには1つのdtypeがあります。データフレーム内の行をそのまま表示する場合は、インデクサーなどの配列をlocに渡します。

追加の角括弧でインデックス値をラップします

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

特定の行を印刷するには、いくつかのpandasメソッドがあります

  1. loc-ラベル、つまり列名または機能のみを取得します
  2. iloc-ここで、私は整数を表し、実際には行番号
  3. ix-ラベルと整数が混在しています

特定の行に使用する方法

  1. loc
df.loc[row,column]

最初の行とすべての列

df.loc[0,:]

最初の行と特定の列

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

最初の行とすべての列

df.iloc[0,:]

最初の行と特定の列、つまり最初の3列

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

ix 演算子を使用します。

print df.ix[159220]
14
CK Chen

df.plot()を呼び出しているようです。このエラーは、数値データを持たないフレームplotを試みていることを示しています。データ型は、print()に影響を与えません。

print(df.iloc[159220])を使用

4
Batman