У меня есть 2 кадра данных, которые я хочу объединить. В df1 он имеет «id» A, B, C, ... и в df2 он имеет «id» A1, A2, A3, ..., B1, B2, B3 ... Я хочу объединитьих при условии df1.id in df2.id
. Я просмотрел учебные пособия и искал StackOverflow, но не увидел ничего релевантного.
Ключи df1 - это подмножество ключей в df2. Таким образом, простой pd.merge (df1, df2, on = 'id', how ...) приводит к неверному кадру данных.
SETUP:
dummy_data1 = {
'id': ['A', 'B', 'C', 'D', 'E'],
'Feature1': ['1', '2', '3', '4', '5'],
'Feature2': ['6', '7', '8', '9', '10']}
dummy_data2 = {
'id': ['A1', 'A2', 'A3', 'B1', 'B2'],
'Feature1': ['a', 'b', 'c', 'd', 'e'],
'Feature2': ['f', 'g', 'h', 'i', 'j']}
df1 = pd.DataFrame(dummy_data1, columns = dummy_data1.keys())
df2 = pd.DataFrame(dummy_data2, columns = dummy_data2.keys())
Желаемый вывод:
id Feature1_x Feature2_x Feature1_y Feature2_y
0 A1 1 6 a f
1 A2 1 6 b g
2 A3 1 6 c h
3 B1 2 7 d i
4 B2 2 7 e j
ПОПЫТКА 1:
newdf = pd.merge(df1['id'], df2['id'], on='id', how='inner')
РЕЗУЛЬТАТ 1:
Empty DataFrame
Columns: [id]
Index: []
ПОПЫТКА 2:
newdf = pd.merge(df1['id'], df2['id'], on='id', how='outer')
РЕЗУЛЬТАТ 2:
id
0 A
1 B
2 C
3 D
4 E
5 A1
6 A2
7 A3
8 B1
9 B2
ПОПЫТКА 3:
newdf = pd.merge(df1['id'], df2['id'].str[:1], on='id', how='inner')
РЕЗУЛЬТАТ 3:
id
0 A
1 A
2 A
3 B
4 B