1
に一致するとき、私は、フォームのパンダのデータフレームを有する、DF =条件パンダにおける列に亘るカウントストリング
index,result1,result2,result3
0 s u s
1 u s u
2 s
3 s s u
私は次のコード
col=['result1','result2','result3']
df[cols].count(axis=1)
このリターンを試みた
index,result1,result2,result3,count
0 s u s 2
1 u s u 1
2 s 1
3 s s u 2
例えばその行S
0,3
1,3
2,1
3,3
ので、これは私はその後、
df[df[cols]=='s'].count(axis=1)
を試してみました、要素の数を数えるが、これは次のエラーが返されました:
"[ 'S']ブロック値とを比較することができませんでした"すべてのヘルプは大幅に数値astype
によってstring
へのキャストを動作し、NaN
列があなたを返す私にとって
欠損値は、ここでは何ですか?彼らは空文字列か 'NaN'ですか? 'df.info()'は何を表示しますか? 'df == 's''はすべてのstrまたは混合dtypeを持っている場合には動作しますが、純粋な数値の列や行がある場合、これは動作しません。すべての' NaN'を持つ行があれば起こります。 count(axis = 1) 'は動作するはずです – EdChum
@WGPおそらく' df ['count'] = 'df.fillna(' '、inplace = True) (df [cols] .values == 's')。sum(1) 'は良い選択肢でしょうか? –