pandas DataFrame只转换/熔化/转动一列

时间:2016-05-25 12:30:09

标签: python csv pandas dataframe

我在pandas DataFrame中有这样的数据:

Data 1

我想将其转换为此(在pandas DataFrame中):

Data result

我尝试使用df.melt(),df.pivot()和df.T(),但它不适合我,因为他们改变了所有列...任何人都知道如何解决这个问题(使用除了pd之外的东西Dataframe也没关系,我的数据在csv文件中)?

2 个答案:

答案 0 :(得分:4)

我认为您可以pivot使用fillna

print (df)
  name group  weight
0    a     e      60
1    t     g      70
2    p     d      80
3    f     d      40
4    e     e      50
5    l     g      30
6    a     d      20

print (df.pivot(index='name', columns='group', values='weight').fillna(''))
group   d   e   g
name             
a      20  60    
e          50    
f      40        
l              30
p      80        
t              70

答案 1 :(得分:1)

你可以用一行来做到这一点:

df.set_index(['name','group']).unstack()