2024-04-26 04:37:58 发布
网友
我有两个数据帧如下。你知道吗
我想在下面的规则中组合这两个数据帧。 首先,我想集中讨论A、B、C和D列。 如果两个数据帧中的值都相同,我想计算值的和。另外,对于列E,我想保留df1值。 预期结果如下图所示。你知道吗
如果你能帮忙,我将非常感激。 非常感谢你的帮助。你知道吗
一种方法是连接数据帧,执行groupby操作,然后对值进行排序:
groupby
df1 = pd.DataFrame([[100, 'aaa', 'bbb', 'ccc', 'ddd', 1], [50, 'eee', 'fff', 'ggg', 'hhh', 2], [10, 'iii', 'jjj', 'kkk', 'lll', 3]], columns=['Value', 'A', 'B', 'C', 'D', 'E']) df2 = pd.DataFrame([[80, 'aaa', 'bbb', 'ccc', 'ddd', 4], [60, 'ej', 'feuajo', 'eiwo', 'fuasdhf', 5], [1, 'gheuha', 'daj;f', 'dfua', 'hfdusu', 6]], columns=['Value', 'A', 'B', 'C', 'D', 'E']) res = pd.concat([df1, df2], axis=0, ignore_index=True)\ .groupby(['A', 'B', 'C', 'D'])\ .agg({'Value': 'sum', 'E': 'first'})\ .reset_index()\ .sort_values('Value', ascending=False) print(res) A B C D Value E 0 aaa bbb ccc ddd 180 1 2 ej feuajo eiwo fuasdhf 60 5 1 eee fff ggg hhh 50 2 4 iii jjj kkk lll 10 3 3 gheuha daj;f dfua hfdusu 1 6
concat+groupby+排序\u值
一种方法是连接数据帧,执行
groupby
操作,然后对值进行排序:相关问题 更多 >
编程相关推荐