gpt4 book ai didi

python-2.7 - 如何根据 Pandas 中的条件按行计算列的值

转载 作者:行者123 更新时间:2023-12-01 04:28:25 25 4
gpt4 key购买 nike

我在下面有一个 Pandas 数据框 df

df = pd.DataFrame({'id':[1,2,3],'v' : ['r','r','i'], 'w' : ['r','r','i'],'x' : ['r','i','i']})
df

id v w x
1 r r r
2 r r i
3 i i i

列的值为 ri .我想计算 r 的出现次数和 i行明智并生成另外两个列标题 ri计数为 r和 i` 作为每一行的值,我期望的最终结果如下
id v  w  x r i
1 r r r 3 0
2 i r r 2 1
3 i i i 0 3

最佳答案

方法一

In [15]:
def count(df):
df['i'] = np.sum(df == 'i')
df['r'] = np.sum(df == 'r')
return df

In [16]:
df.apply(count, axis = 1)
Out[16]:
id v w x i r
0 1 r r r 0 3
1 2 r r i 1 2
2 3 i i i 3 0

方法二
In [9]:
count = df.apply(lambda x : x.value_counts() , axis = 1)[['i' , 'r']]
count
Out[9]:
i r
0 NaN 3
1 1 2
2 3 NaN

In [10]:
pd.concat([df , count.fillna(0)] , axis = 1)
Out[10]:
id v w x i r
0 1 r r r 0 3
1 2 r r i 1 2
2 3 i i i 3 0

关于python-2.7 - 如何根据 Pandas 中的条件按行计算列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33722247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com