[英]How can I save result from groupby in a new column?
I have a dataframe我有一个 dataframe
key1![]() |
key2![]() |
key3![]() |
value1![]() |
value2![]() |
---|---|---|---|---|
1 ![]() |
a![]() |
s2 ![]() |
3 ![]() |
4 ![]() |
1 ![]() |
a![]() |
s2 ![]() |
2 ![]() |
3 ![]() |
2 ![]() |
b ![]() |
j6 ![]() |
1 ![]() |
1 ![]() |
and I want as result我想要结果
key1![]() |
key2![]() |
key3![]() |
value1![]() |
value2![]() |
sum_value1 ![]() |
sum_value2 ![]() |
---|---|---|---|---|---|---|
1 ![]() |
a![]() |
s2 ![]() |
3 ![]() |
4 ![]() |
5 ![]() |
7 ![]() |
1 ![]() |
a![]() |
s2 ![]() |
2 ![]() |
3 ![]() |
5 ![]() |
7 ![]() |
2 ![]() |
b ![]() |
j6 ![]() |
1 ![]() |
1 ![]() |
1 ![]() |
1 ![]() |
sum_value1 is the summation of values in value1 by grouping key1, key2, key3. sum_value1 是 value1 通过分组 key1、key2、key3 得到的值的总和。 And so for sum_value2.
sum_value2 也是如此。
How can I get this?我怎样才能得到这个? Thank you!
谢谢!
What I used so far:到目前为止我使用的是:
df["sum_value1"] = df["value1"].groupby(["key1","key2","key3"]).transform('sum')
use groupby and transform to return the sum of individual columns使用 groupby 和 transform 返回各个列的总和
df[['sum_value1','sum_value2']]=df.groupby(['key1','key2','key3'])[['value1','value2']].transform(sum)
df
key1 key2 key3 value1 value2 sum_value1 sum_value2
0 1 a s2 3 4 5 5
1 1 a s2 2 1 5 5
2 2 b j6 1 1 1 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.