熊猫:获取列值的计数并创建一个新列

时间:2019-12-13 13:08:42

标签: python pandas

我有以下数据框:

df
   id grp1 grp2
0   1    a  NaN
1   2    b    d

我需要创建一个新列,其中包含grp1和grp2列中的值计数。如下所示

df
   id grp1 grp2 grp_count
0   1    a  NaN      1
1   2    b    d      2

实现此目标的一种方法是使用pandas apply函数,该函数逐行获取计数迭代,这将影响性能。

有没有一种方法可以不用熊猫应用?

1 个答案:

答案 0 :(得分:2)

Pandas DataFrame count方法默认情况下忽略nan值,因此:

df['grp_count'] = df[['grp1', 'grp2']].count(axis=1)