Python中选定列的条件计数

Python中选定列的条件计数,python,Python,我是Python新手,希望在数据帧中创建一个新列,对所有列中的所有活动值进行计数: ID 2000 2001 2002 2003 ... 2019 new_column 1 active active nan active ... nan 3 2 active nan nan active ... nan 2 因为我有很多列,所以我不想指定每个列的名称。有没有快速计算这个数字的方法 多谢各位 这应该可以: df1 = pd.DataFrame({1:[

我是Python新手,希望在数据帧中创建一个新列,对所有列中的所有活动值进行计数:

ID  2000  2001  2002  2003  ...  2019  new_column
1  active  active  nan  active  ...  nan  3
2  active  nan  nan  active  ...  nan  2
因为我有很多列,所以我不想指定每个列的名称。有没有快速计算这个数字的方法

多谢各位

这应该可以:

df1 = pd.DataFrame({1:[np.nan,'active','b'],2:['active','active','active'],3:[np.nan,np.nan,'active']})
这带来了:

        1       2       3
0     NaN  active     NaN
1  active  active     NaN
2       b  active  active
然后用一个条件按行求和:

np.sum(df1=='active', axis=1) #axis=1 tells it to do rowwise operation instead of columnwise.
输出:

0    1
1    2
2    2

当你说“活动”时,你指的是所有非nan值?是的,我可以从非nan开始,但仍然更喜欢比较值=“活动”,因为我还有其他可能具有其他值的列。谢谢!