2017-10-18 18 views
0

の列を作成:私はこのような空のセルを有するデータフレームを有する行レベルでパンダのデータフレームに空のセルの数をカウントし、それに応じて

Col1  Col2  Col3  Col4  Col5  
    A     B      C 
            G    
    E   R        P 
         J       
    C   K        T 

Iは、数に追加の列を作成します各行の空のセルので、期待される出力は次のようである:ここ

ID  Col1  Col2  Col3  Col4  Col5  No_Of_Empty  
1  A     B      C   2 
2          G      3 
3  E   R        P   2 
4       J         3 
5  C   K        T   3 

私が試みものである:

df['No_Of_Des'] = df.iloc[:,1::].apply(lambda x: sum(x==' '), axis = 1) 

私が得ようとしている出力は期待されたものではなく、何が間違っているのか分かりません。

+0

ですか? – Wen

+0

私が試しているのは、このようなスペースの中にあります – owise

+0

スペースなしで ''''を使ってみてください – Wen

答えて

1

出典DF:

In [168]: df 
Out[168]: 
    Col1 Col2 Col3 Col4 Col5 
0 A   B   C 
1     G 
2 E R    P 
3    J 
4 C K    T 

デモ:それ ` ' 'や` `''`が

In [170]: df.iloc[:, 1:].eq("") 
Out[170]: 
    Col2 Col3 Col4 Col5 
0 True False True False 
1 True True False True 
2 False True True False 
3 True False True True 
4 False True True False 

In [171]: df.iloc[:, 1:].eq("").sum(axis=1) 
Out[171]: 
0 2 
1 3 
2 2 
3 3 
4 2 
dtype: int64 

In [172]: df['No_Of_Empty'] = df.iloc[:, 1:].eq("").sum(axis=1) 

In [173]: df 
Out[173]: 
    Col1 Col2 Col3 Col4 Col5 No_Of_Empty 
0 A   B   C   2 
1     G     3 
2 E R    P   2 
3    J      3 
4 C K    T   2 
+0

これを適用するとわかりません: 'TypeError:[None]とブロックを比較できませんでした – owise

+0

@owise、私は再現可能なデータセットを手助けするために必要であると恐れている... – MaxU

+0

私たちはNON空のセルの数を得るような方法でこの操作を逆にする簡単な形式がありますか? – owise

関連する問題