大熊猫 - 在数据框架中重组数据

时间:2016-03-11 19:25:35

标签: python-3.x pandas

我的数据框格式为

  

时间|名字|价值

           

01/01/1970 | A | 1
     02/01/1970 | A | 2
     03/01/1970 | A | 1
     01/01/1970 | B | 5
     02/01/1970 | B | 3

我要将此数据更改为

  

时间| A | B

           

01/01/1970 | 1 | 5
     02/01/1970 | 2 | 3
     03/01/1970 | 1 | NA

我怎样才能在熊猫中实现这一目标?我已经在数据帧上尝试过groupby,然后加入,但它的出现正确。 提前谢谢

2 个答案:

答案 0 :(得分:1)

使用DataFrame.pivotdoc):

import numpy as np

df = pd.DataFrame(
    {'name': ['A', 'A', 'A', 'B', 'B'],
     'time': ['01/01/1970', '02/01/1970', '03/01/1970', '01/01/1970', '02/01/1970'],
     'value': [1, 2, 1, 5, 3]})

print(df.pivot(index='time', columns='name', values='value'))

产量

            A   B
time             
01/01/1970  1   5
02/01/1970  2   3
03/01/1970  1 NaN

请注意,time现在是索引。如果您希望将其设为列,请致电reset_index()

df.pivot(index='time', columns='name', values='value').reset_index()
# name        time  A   B
# 0     01/01/1970  1   5
# 1     02/01/1970  2   3
# 2     03/01/1970  1 NaN

答案 1 :(得分:0)

使用.pivot函数:

df = pd.DataFrame({'time' : [0,1,2,3],
'name': ['A','A', 'B', 'B'], 'value': [10,20,30,40]})

df.pivot(index = 'time', columns = 'name', values = 'value')