1
我有形式,DF的熊貓數據幀=條件計數
index,result1,result2,result3
0 s u s
1 u s u
2 s
3 s s u
我想添加其S發生的次數的列表的另一列該行,例如
index,result1,result2,result3,count
0 s u s 2
1 u s u 1
2 s 1
3 s s u 2
我曾嘗試下面的代碼
col=['result1','result2','result3']
df[cols].count(axis=1)
但這回小號
0,3
1,3
2,1
3,3
所以這個計數元件的數量,然後我試圖
df[df[cols]=='s'].count(axis=1)
但這返回以下錯誤: 「無法比較[ 'S']與塊值」
任何幫助將不勝感激
什麼這裏有缺失值?他們是空白的字符串還是「NaN」? 'df.info()'顯示什麼?如果你有所有str或者混合dtypes,那麼'df =='s''將會起作用,但是如果你有任何純數字列或者行,那麼這將不起作用,如果你有任何'NaN'行,就會發生這種情況。你可以試試'df.fillna('',inplace = True)'then'(df [cols] ='s')。count(axis = 1)'should do – EdChum
@WGP,'df ['count'] = (df [cols] .values =='s')。sum(1)'會是一個不錯的選擇? –