我想在数据框的底部创建一行,计算给定数字(在本例中为 0)出现在每一列中的次数
df = pd.DataFrame({'Bread':[1,"Nan",3.3, 0],
'Butter': [2, 3, "Nan", 1],
'Jam': [0, 0, 0.3, 0.7]})
print (df)
Bread Butter Jam
0 1 2 0.0
1 Nan 3 0.0
2 3.3 Nan 0.3
3 0 1 0.7
我的预期结果是(附加行“Occ”)
print (df)
Bread Butter Jam
0 1 2 0.0
1 Nan 3 0.0
2 3.3 Nan 0.3
3 0 1 0.7
Occ 1 0 2
最佳答案
比较 DataFrame.eq
并通过 sum
计算 True
值并通过 setting with enlargement
创建新行:
df.loc['Occ'] = df.eq(0).sum()
print (df)
Bread Butter Jam
0 1 2 0.0
1 Nan 3 0.0
2 3.3 Nan 0.3
3 0 1 0.7
Occ 1 0 2.0
详细信息:
print (df.eq(0))
Bread Butter Jam
0 False False True
1 False False True
2 False False False
3 True False False
print (df.eq(0).sum())
Bread 1
Butter 0
Jam 2
dtype: int64
关于python - 在数据框的底部创建行,计算出现的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56989283/