Python Pandas: 如何求和包含缺失值的列?
Python Pandas: How to sum up columns that also include missing values?
我有一个 df 有几个列,其中三个是这样的:
num1 num2 num3
1 NaN 1
NaN 1 1
1 1 1
我想创建另一列 "sum_num" 并在每行中为所有列添加值(替代方法是计算一个的数量,因为这些值都是一个)。
预期结果:
num1 num2 num3 sum_num
1 NaN 1 2
NaN 1 1 2
1 1 1 3
现在我已经尝试了这段代码,但我在 "sum_num" 列中所拥有的只是 NaN。
df['sum_num'] = df.num1 + df.num2 + df.num3
有谁知道如何忽略缺失值并仍然对这些值求和或计算它们以获得每行所需的结果?
sum
在 axis=1
In [202]: df['sum_num'] = df.sum(axis=1)
In [203]: df
Out[203]:
num1 num2 num3 sum_num
0 1 NaN 1 2
1 NaN 1 1 2
2 1 1 1 3
实际上,您可以从数据框创建子集,此处 df
:
sum_num = df[['num1', 'num2', 'num3']]
然后将子集添加到 df
:
df['summed'] = sum_num.sum(axis=1)
我有一个 df 有几个列,其中三个是这样的:
num1 num2 num3
1 NaN 1
NaN 1 1
1 1 1
我想创建另一列 "sum_num" 并在每行中为所有列添加值(替代方法是计算一个的数量,因为这些值都是一个)。
预期结果:
num1 num2 num3 sum_num
1 NaN 1 2
NaN 1 1 2
1 1 1 3
现在我已经尝试了这段代码,但我在 "sum_num" 列中所拥有的只是 NaN。
df['sum_num'] = df.num1 + df.num2 + df.num3
有谁知道如何忽略缺失值并仍然对这些值求和或计算它们以获得每行所需的结果?
sum
在 axis=1
In [202]: df['sum_num'] = df.sum(axis=1)
In [203]: df
Out[203]:
num1 num2 num3 sum_num
0 1 NaN 1 2
1 NaN 1 1 2
2 1 1 1 3
实际上,您可以从数据框创建子集,此处 df
:
sum_num = df[['num1', 'num2', 'num3']]
然后将子集添加到 df
:
df['summed'] = sum_num.sum(axis=1)