2016-06-30 5 views
2

두 개의 DataFrame이 있습니다. X와 Y를 호출합니다. X의 차원은 2063 x 14이고 Y의 차원은 2063 x 8입니다. 4 열 Y와 X의 12 개까지, 팬더에서 할 수 있을까요?하나의 데이터 프레임의 열을 팬더의 다른 데이터 프레임의 열로 바꾸기

내가 지금까지 발견 한 해결책은 열/여러 열의 특정 값을 대체하지만 전체 DataFrame을 한꺼번에 바꿀 수는 없습니다. 어떤 도움을 주시면 감사하겠습니다. (:

답변

0

이 작동해야합니다.

X.iloc[:, 4:12] = Y 

ilocloc부터 두 조각에 우리를 허용하고 dataframe의 조각에 할당

#   assign Y 
#    | 
#    /-\ 
X.iloc[:, 4:12] = Y 
# ^^
#  | | 
# slices | 
# all rows | 
#   slices columns 
#   5 through 12 
#   which constitute 
#   the 8 columns we want 
#   replace with the 8 
#   columns of Y 
+0

왜? 왜 작동합니까? 당신은 당신의 대답에 약간의 문맥을 추가 할 수 있습니까? – ppperry

+0

@ppperry 공정한 비판. 이제 컨텍스트를 추가하겠습니다. – piRSquared

0

을 당신은 concat 그들 할 수 있습니다

pd.concat(x.ix[:,:3], y, axis=1) 

예 :

In [257]: 
x = pd.DataFrame(columns=list('abcde')) 
y = pd.DataFrame(columns=list('1234')) 
pd.concat([x.ix[:,:2], y], axis=1) 

Out[257]: 
Empty DataFrame 
Columns: [a, b, 1, 2, 3, 4] 
Index: [] 
관련 문제