2017-05-28 27 views
1

我想列數據轉換成這樣的行,我怎麼能執行這種編程語言是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.},}) 

回答

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 
0

按照這個答案here您需要使用T.

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

感謝,但你的答案忽略列名稱:),並且user_id不是唯一的。 –