내부 조인과 함께 열 단위 (축 = 1)로 연결하려는 두 개의 데이터 프레임이 있습니다. dataframes 중 하나는 일부 중복 인덱스를 가지고 있지만, 행이 중복되지 않습니다, 나는 그에서 데이터를 잃고 싶지 않아 :팬더 : 데이터 프레임 연결 및 중복 인덱스 유지
df1 = pd.DataFrame([{'a':1,'b':2},{'a':1,'b':3},{'a':2,'b':4}],
columns = ['a','b']).set_index('a')
df2 = pd.DataFrame([{'a':1,'c':5},{'a':2,'c':6}],columns = ['a','c']).set_index('a')
>>> df1
b
a
1 2
1 3
2 4
8 9
>>> df2
c
a
1 5
2 6
concat
동작하는 NaN으로 누락 된 값을 채우는 것입니다 기본 :
>>> pd.concat([df1,df2])
b c
a
1 2 NaN
1 3 NaN
2 4 NaN
1 NaN 5
2 NaN 6
df1의 중복 색인을 유지하고 df2의 중복 값으로 채우고 싶지만 팬더 0.13.1에서는 열을 내부 조인하면 오류가 발생합니다. 팬더 CONCAT의 최신 버전에서는 내가 원하는 무엇 :
>>> pd.concat([df1, df2], axis=1, join='inner')
b c
a
1 2 5
1 3 5
2 4 6
내가 원하는 결과를 달성하기 위해 가장 좋은 방법은 무엇입니까? groupby 솔루션이 있습니까? 또는 concat
을 전혀 사용하지 않아야합니까?
내가 사용하는 것 대신 pd.merge – ZJS
어떤 판다를 실행하고 있습니까? 나는'0.14.0'을 달리고있다. – EdChum