2 단계 MultiIndex (수준 : '_Date'및 _'ItemId ')와 함께 df1이라는 데이터 프레임이 있습니다. '_ItemId'의 각 값의 여러 인스턴스가 다음과 같이 존재한다 : pandas가 하나의 색인 수준 만 키로 사용되는 경우
_SomeOtherLabel
_Date _ItemId
2014-10-05 6588921 AA
6592520 AB
6836143 BA
2014-10-11 6588921 CA
6592520 CB
6836143 DA
난 키 (되지 인덱스)로서 사용 '_ItemId'DF2으로 불리는 제 2 데이터 프레임을 가지고있다. 이 안양에서 _ItemId의 각 값을 하나만이 :
_ItemId _Cat
0 6588921 6_1
1 6592520 6_1
2 6836143 7_1
내가 DF2에서 열 '_Cat'의 값을 복구하고 '_ItemId'의 적절한 값에 대한 DF1로 병합하고 싶다. 이것은 거의 다 (나는 생각 하는가?) 다 대 일의 표준 병합이다. 단, 왼쪽 df에 대한 적절한 키는 다중 인덱스 레벨 중 하나이다. 나는이 시도 :
df1['_cat']=pd.merge(df1,df2,left_index=True, right_on='ItemId')
을하지만 오류 내 (왼쪽) 인덱스가 실제로 두 개의 키 구성되어 있기 때문에 의미가 가정
"ValueError: len(right_on) must equal the number of levels in the index of "left"
를 얻을. 필요한 하나의 색인 수준을 선택하려면 어떻게합니까? 아니면이 병합에 대한 더 나은 접근법이 있습니까?
감사합니다.