2017-04-26 71 views
2

我有这样如何大熊猫行结合

df = pd.DataFrame({'a' : ['a', 'b' , 'b', 'a'], 'b': ['a', 'b' , 'b', 'a'] }) 

的数据集,我想前两行结合起来,得到的数据集这样

df = pd.DataFrame({'a' : ['a b' , 'b', 'a'], 'b': ['a b' , 'b', 'a'] }) 

没有规则,但前两排。我不知道如何让我“创造”的方法来通过transpose()如下

db = df.transpose() 
db["new"] = db[0].map(str) +' '+ db[1] 
db.drop([0, 1], axis=1, inplace=True) # remove these two columns 
cols = db.columns.tolist() # re order 
cols = cols[-1:] + cols[:-1] 
db = db[cols] 
df = db.transpose() # reverse operation 
df.reset_index() 

它的工作原理相结合,行结合起来,但我认为还有一个更简单的方法

回答

2

您可以简单地添加了两行

df.loc[0] = df.loc[0]+ df.loc[1] 
df.drop(1, inplace = True) 

你得到

a b 
0 ab ab 
2 b b 
3 a a 

有点更看中的期待:)

df.loc[0]= df[:2].apply(lambda x: ''.join(x)) 
df.drop(1, inplace = True)