Python 为列值指定计数
很抱歉,我无法创建代码来生成示例数据 这是我的数据框,B、C、D、E列有约会日期。我试图计算每行存在的日期数,并在不干扰A列和F列的情况下将该数字附加到G列。我需要函数吗?值为真/假,然后计数?有简单的方法吗Python 为列值指定计数,python,pandas,Python,Pandas,很抱歉,我无法创建代码来生成示例数据 这是我的数据框,B、C、D、E列有约会日期。我试图计算每行存在的日期数,并在不干扰A列和F列的情况下将该数字附加到G列。我需要函数吗?值为真/假,然后计数?有简单的方法吗 A B C D E F G 0 1 20171021 20171021 20171021 20171021 id_123
A B C D E F G
0 1 20171021 20171021 20171021 20171021 id_123
1 2 NaN 20171021 20171021 20171021 id_234
2 3 NaN NaN 20171021 20171021 id_345
3 4 NaN NaN NaN 20171021 id_456
期望输出
A B C D E F G
0 1 20171021 20171021 20171021 20171021 id_123 4
1 2 NaN 20171021 20171021 20171021 id_234 3
2 3 NaN NaN 20171021 20171021 id_345 2
3 4 NaN NaN NaN 20171021 id_456 1
基本上,使用count
基本上,使用count
您可以对notnull值求和,即notnull将给出布尔掩码。布尔掩码之和给出计数
df['G'] = df.loc[:,'B':'E'].notnull().sum(1)
您可以对notnull值求和,即notnull将给出布尔掩码。布尔掩码之和给出计数
df['G'] = df.loc[:,'B':'E'].notnull().sum(1)
也许我也这么想much@Bharathshetty你做了,但是列切片是一个很好的触摸,我喜欢它。Will upvote,给我一秒钟:这是受你启发的:谢谢你,这是一个非常有效的解决方案,效果非常好!也许我也这么想much@Bharathshetty你做了,但是列切片是一个很好的触摸,我喜欢它。Will upvote,给我一秒钟:这是受你启发的:谢谢你,这是一个非常有效的解决方案,效果非常好!非常感谢。这就是我用真/假寻找的,下次我会记住“布尔掩码”。谢谢!这就是我用真/假寻找的,下次我会记住“布尔掩码”。 A B C D E F G 0 1 20171021.0 20171021.0 20171021.0 20171021 id_123 4 1 2 NaN 20171021.0 20171021.0 20171021 id_234 3 2 3 NaN NaN 20171021.0 20171021 id_345 2 3 4 NaN NaN NaN 20171021 id_456 1