如果在数据框的特定列中共享相同的值,我是否要聚合某些列中的值?如何根据Python中的列值聚合某些行
换句话说,我怎么能从A获取数据帧B?在这个例子中,我想根据列c1中的值进行检查,如果存在具有相同值的行,那么我想将列c3-c5的总和放在行中新列(c6)中的值为“ c“列c2。
答:
c0 c1 c2 c3 c4 c5 0 1 a d 3 4 0 1 1 a c 0 0 6 2 1 b d 3 1 0 1 1 b c 0 0 1
B:
c0 c1 c2 c3 c4 c5 c6 0 1 a d 3 4 0 1 1 a c 0 0 6 13 2 1 b d 3 1 0 1 1 b c 0 0 1 5
这里是我做了什么:
import pandas as pd
import numpy as np
A = pd.read_excel(file_location)
A['c6'] = pd.Series(0, index=A.index)
A.c6[A['c2'] == 'c'] = A.c5 + A.c4[A.c1 == A.c1.shift(-1)] + A.c3[A.c1 == A.c1.shift(-1)]
B = A
你需要你的数据看起来像B'如果你想要的是某些列的某些列的值,那么具有分组列值和总计列的数据框就足够了吗? – James
@詹姆斯是我想让它看起来像B. – Ana