熊猫数据帧组并加入列

时间:2017-02-10 23:41:11

标签: python pandas

是否有一种简单的方法可以执行以下操作:我有一个包含以下列的熊猫数据框:日期(按天),公司,销售。我想创建一个数据框,每个公司的销售额为一列;即,新列应为:日期,公司1销售,公司2销售,公司3销售。我想根据公司列中的名称命名列。

我做了:df.groupby(['company'])并认为我可以为组中的每个元素进行外连接。但这似乎不合时宜?似乎应该有一个更简单的方法来做到这一点?谢谢!非常感谢任何帮助。

一个例子是:

date  |  company  | sales

1/1/2017 | AAA | 100

1/1/2017 | BBB | 200

1/1/2017 | CCC | 300

我想将其转换为:

date | AAA | BBB | CCC

1/1/2017 | 100 | 200 | 300

1 个答案:

答案 0 :(得分:1)

选项1
set_index + unstack

df.set_index(['date', 'company']).sales.unstack().reset_index()

company      date  AAA  BBB  CCC
0        1/1/2017  100  200  300

选项2
pivot

df.pivot('date', 'company', 'sales').reset_index()

company      date  AAA  BBB  CCC
0        1/1/2017  100  200  300