我有一个存储有关特定对象和日期的信息的 csv。
Device Date Category Amount
Pen 01/01/2014 A 12
Pen 01/01/2014 B 42
Pen 01/01/2014 C 10
Pen 01/01/2014 D 5
Pen 02/01/2014 A 7
Pen 02/01/2014 B 52
Pen 02/01/2014 C 1
Pen 02/01/2014 D 7
Pencil 01/01/2014 A 22
Pencil 01/01/2014 B 42
Pencil 01/01/2014 C 70
Pencil 01/01/2014 D 8
我想将它读入 DataFrame 并将类别设为一列,将特定设备的金额和日期设为一行。这将使数据集小得多。
Device Date A B C D
Pen 01/01/2014 12 42 10 5
Pen 02/01/2014 7 52 1 7
Pencil 01/01/2014 22 42 70 8
请您参考如下方法:
您可以使用 pivot_table,其中您要保留的列设置为 index,转到标题的列设置为 columns和填充输出数据框中的单元格的列设置为 values:
df.pivot_table(index=['Device', 'Date'], columns='Category', values='Amount').reset_index()
# Category Device Date A B C D
# 0 Pen 01/01/2014 12 42 10 5
# 1 Pen 02/01/2014 7 52 1 7
# 2 Pencil 01/01/2014 22 42 70 8
