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