2016-12-22 14 views
4

column = [myCol]のnull値を持つデータフレームを反復しようとしています。私はデータフレームを綺麗に反復することができますが、指定するとnull値を参照したいだけですが、エラーが発生します。データフレーム全体を反復処理し、NULL値を選択します。

最後の目標は、Nullであるフィールドに値を強制したいからです。これは、最初のものを特定するために反復している理由です。

for index,row in df.iterrows(): 
    if(row['myCol'].isnull()): 
     print('true') 

AttributeError: 'str' object has no attribute 'isnull' 

データフレームの繰り返しを印刷するときに表示される値であるため、column = 'None'を指定しようとしました。まだ運がありません:

for index,row in df.iterrows(): 
    if(row['myCol']=='None'): 
     print('true') 

No returned rows 

大変助かりました!

+0

(行[「myCol」]はなしです)場合は、 'もしかして:'?さもなければこれは文字列 ''None''と比較され、(シングルトン)オブジェクト' None'とは比較されません。 ' –

+0

最終目標は明確ではありません。たぶんあなたは入力テーブルと期待される出力テーブルを提供することができます。空の値を置き換えようとしているのは確かではありません。ベクトルデータか、または同じdf colまたは他のcolですか?あなたがnull値を同じdfの値で置き換えようとしているならば、Rで。 'df $ myCol < - ifelse(df $ myCol ==" "、df $ FillInColumn、df $ myCol)' – user5249203

答えて

2

あなたは値がnullであるかどうかをチェックするためにpd.isnull()を使用することができます。

for index, row in df.iterrows(): 
    if(pd.isnull(row['myCol'])): 
     print('true') 

しかし、あなたはmyValueは、あなたがNULLのフィールドに強制したい値であるdf.fillna(myValue)を必要とするように思えます。また、データフレームのNULLフィールドを確認するには、行をループして個別にチェックする代わりにdf.myCol.isnull()を呼び出すことができます。


列は、文字列型であるならば、あなたもチェックし、それが空の文字列であればよいでしょう:

for index, row in df.iterrows(): 
    if(row['myCol'] == ""): 
     print('true') 
+0

これはありがとうございました! – Ariel

関連する問題