2017-10-25 6 views
1

제가 2 개 데이터 프레임이 reteated 열 팬더 파이썬에 따라 두 dataframe을 연결 가입

date  Id people value      
2014-03-13 1  A -3.0 
2014-03-13 1  B -6.0 
2014-03-14 1  A -3.1 
2014-03-14 2  B -5.0 

하고 난 DF3을 얻으려면 =

 date Id people value column1 

2014-03-13 1  A -3.0  1 
2014-03-13 1  B -6.0  1 
2014-03-14 1  A -3.1  2 
2014-03-14 2  B -5.0  2 

나는 이온은 팬더의 결합하지만, 결합 열은 dateDataFrames 모두에있는 경우 내가 그것을

+0

는 솔루션에서 중요한 성능인가요? – jezrael

+0

@ jezrael 예 감사합니다. –

답변

1

만 사용 merge를 해결하기 위해 거기에 몇 가지 오류 어떤 방법을 얻을 : dtypes 인 경우

df = pd.merge(df2, df1, how='left') 

df['new'] = df2['date'].map(df2.set_index('date')['column1']) 

이 또한 확인 모두 같음 DataFrame s :

print (df1['date'].dtype) 
print (df2['date'].dtype) 

그렇지 않은 경우, 예컨대 :

df1['date'] = pd.to_datetime(df1['date']) 
3

그냥 쓰기, datetime에 열을 변환 :

df3 = df2.merge(df1, on='date', how='left')