我是python的新手,我试图计算每行的非na值,并将总数保存到新变量中。
我有数据框:
data = {'x1': ["Yes", "Yes", "No"],
'x2': ["Yes",np.nan, "Yes"],
'x3': [np.nan, np.nan, "No"]}
df = pd.DataFrame(data, columns = ['x1', 'x2', 'x3'])
print(df)
x1 x2 x3
0 Yes Yes NaN
1 Yes NaN NaN
2 No Yes No
我想做的是计算每一行的答案数量,然后将总数保存到新变量中。所需的输出如下所示:
x1 x2 x3 Total
0 Yes Yes NaN 2
1 Yes NaN NaN 1
2 No Yes No 3
这似乎很简单,但我无法弄清楚。任何帮助将不胜感激。
谢谢
答案 0 :(得分:3)
您只需将count()
与axis=1
一起使用:
df['Total'] = df.count(axis=1)
收益:
x1 x2 x3 Total
0 Yes Yes NaN 2
1 Yes NaN NaN 1
2 No Yes No 3