在 pandas 中的数据框中分组 [英] Making a group in dataframe in pandas

查看:59
本文介绍了在 pandas 中的数据框中分组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个列表,例如

I have a list such as

groups = [['Group1', 'A', 'B'], ['Group2', 'C', 'D']]

和一个数据框,例如

A 100
B 200
C 300
D 400

我想从上面的列表中得出一个组总和,成为:

I want to make a group sum from the list above to become:

Group 1 300
Group 2 700

如何使用python熊猫做到这一点? 不用说我是熊猫的新手.谢谢.

How can I do this using python pandas? Needless to say I am a newbie in pandas. Thanks.

推荐答案

另一种选择...但是似乎@jezrael的方法更好!

Another option...but seems @jezrael's way is better!

import pandas as pd

groups = [['Group1', 'A', 'B'], ['Group2', 'C', 'D']]

df0 = pd.melt(pd.DataFrame(groups).set_index(0).T)
df1 = pd.read_clipboard(header=None)  # Your example data

df = df1.merge(df0, left_on=0, right_on='value')[['0_y', 1]]
df.columns = ['Group', 'Value']

print df.groupby('Group').sum()


        Value
Group        
Group1    300
Group2    700

这篇关于在 pandas 中的数据框中分组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆