[英]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.