我有一个存储有关特定对象和日期信息的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,并将Category设为列,并为特定设备设置Amounts,并将其排成一行。这将使数据集更小。
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
答案 0 :(得分:5)
您可以使用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
:
awk
答案 1 :(得分:2)