2017-04-26 5 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'] }) 

어떤 규칙이 있지만, 처음 두 행과 같은 데이터 집합을 처음 두 행을 결합하고 싶어. 난 내가 방법이 작동

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() 

아래로 transpose()에 의해 결합하는 '만들'수 있도록 행을 결합하는 방법을 몰라하지만 난 당신이 단순히 두 개의 행을 추가 할 수 있습니다

답변

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) 
관련 문제