熊猫-如何根据唯一值创建新列并按唯一值分组?

时间:2020-02-29 17:35:22

标签: python pandas

我有这样的数据框:

import pandas as pd
data = [
        [1, 'A', 10], [1, 'B', 20], [1, 'C', 30],
        [2, 'A', 30], [2, 'B', 20], [2, 'C', 10],
        [3, 'A', 20], [3, 'B', 40], [3, 'C', 20]
       ]

df = pd.DataFrame(data, columns = ['Day', 'Company', 'Profit']) 
df 

enter image description here

我想将此表转换为:

  • 每个唯一的公司名称将成为一个新列
  • 剩余数据按天分组

如何将数据框转换为新的数据框?

enter image description here

2 个答案:

答案 0 :(得分:4)

尝试使用数据透视表:

more_itertools.

答案 1 :(得分:2)

您可以使用pivot_table:

df_pivot = df.pivot_table(index='Day', columns='Company', values='Profit')

输出:

Company   A   B   C
Day                
1        10  20  30
2        30  20  10
3        20  40  20