繁体   English   中英

统计满足条件的列数

[英]Count number of columns that meet condition

对于 df 中的每一行,我想计算属于 AA 列和 B 列大于 2 的值,并将此计数保存到同一 df 中的新列中。 所以在下面的df中,第0行,计数=1,在第1行,计数=2。 请问有什么帮助吗?

import numpy as np
import pandas as pd
df = pd.DataFrame({
        "AA": [3,6,0,3,4],
        "B": [1,5,1,1,4],
        "W": [1,2,1,1,9]
    })
df

使用apply()处理来自单行但多列的单元格时,您可以设置axis=1

df['count'] = df.apply(lambda x: sum(item > 2 for item in[x['AA'], x['B']]), axis=1)

df
指数 AA W 数数
0 3 1 1 1
1 6 5 2 2
2 0 1 1 0
3 3 1 1 1
4 4 4 9 2

我们试试看

df['count'] = df[['AA', 'B']].gt(2).sum(axis=1)
print(df)


   AA  B  W  count
0   3  1  1      1
1   6  5  2      2
2   0  1  1      0
3   3  1  1      1
4   4  4  9      2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM