gpt4 book ai didi

python - 如何对一列进行分组,然后将两列划分在一起?

转载 作者:行者123 更新时间:2023-12-01 02:09:00 26 4
gpt4 key购买 nike

我是 pandas 新手,我想在 pandas 数据框中创建一个新列。我想按一列进行分组,然后将其他两列划分在一起。

这完全有效:

 df['new_col'] = (df.col2/df.col3)

但是,当我对另一列进行分组时,我所拥有的不起作用:

 df['new_col'] = df.groupby('col1')(df.col2/df.col3)

有谁知道如何重写上面的代码吗?谢谢。

最佳答案

设置

df = pd.DataFrame(dict(
Col1=list('AAAABBBB'),
Col2=range(1, 9, 1),
Col3=range(9, 1, -1)
))

df

df.groupby('Col1').sum().eval('Col4 = Col2 / Col3')

Col1 Col2 Col3
0 A 1 9
1 A 2 8
2 A 3 7
3 A 4 6
4 B 5 5
5 B 6 4
6 B 7 3
7 B 8 2
<小时/>

解决方案
使用pd.DataFrame.eval
我们可以使用eval在管道中创建新列

df.groupby('Col1', as_index=False).sum().eval('Col4 = Col2 / Col3')

Col1 Col2 Col3 Col4
0 A 10 30 0.333333
1 B 26 14 1.857143

关于python - 如何对一列进行分组,然后将两列划分在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48831599/

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