怎么可以像这样在DataFrame上执行列到行的转换

时间:2017-05-28 23:56:15

标签: python dataframe

我希望将列数据转换为这样的行,我怎么能执行此操作?编程语言是python

原始数据:

    data    month   user_id
0   3782.0  01      1
1   1882.0  02      1
2   536.0   03      2
3   526.0   04      2

转换数据:

user_id mo_1 mo_2 mo_3 mo_4
1       3782 1882 
2                 536  526

原始数据定义:

df = pd.DataFrame({'user_id': {0: 1, 1: 1, 2: 1, 3: 1},
                   'month': {0: '01', 1: '02', 2: '03', 3: '04'},
                  'data': {0: 3782., 1: 1882., 2: 536., 3: 526.},})

2 个答案:

答案 0 :(得分:0)

根据这个答案here,你需要使用T的转置。

print (df.set_index('fruits').T)
fruits     apples  grapes  figs
numFruits      10      20    15

答案 1 :(得分:0)

要将行值更改为列标题,您需要使用unstack

df.set_index(['user_id', 'month'], inplace=True)
df = df.unstack()

           data                      
month        01      02     03     04
user_id                              
1        3782.0  1882.0  536.0  526.0