pandy: scalanie (łączenie) dwóch ramek danych na wielu kolumnach

Próbuję połączyć dwie ramki danych pandy za pomocą dwóch kolumn:

new_df = pd.merge(A_df, B_df,  how='left', left_on='[A_c1,c2]', right_on = '[B_c1,c2]')

Ale mam następujący błąd:

pandas/index.pyx in pandas.index.IndexEngine.get_loc (pandas/index.c:4164)()

pandas/index.pyx in pandas.index.IndexEngine.get_loc (pandas/index.c:4028)()

pandas/src/hashtable_class_helper.pxi in pandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:13166)()

pandas/src/hashtable_class_helper.pxi in pandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:13120)()

KeyError: '[B_1, c2]'
Wiesz, jak to zrobić? Dzięki!
Author: Edamame, 2017-01-23

1 answers

Spróbuj tego

new_df = pd.merge(A_df, B_df,  how='left', left_on=['A_c1','c2'], right_on = ['B_c1','c2'])

Http://pandas.pydata.org/pandas-docs/version/0.19.1/generated/pandas.DataFrame.merge.html

Left_on : etykieta lub Lista, lub nazwy pól podobne do tablicy do dołączenia w lewo Ramka danych. Może być wektorem lub listą wektorów o długości DataFrame, aby użyć określonego wektora jako klucza join zamiast Kolumny

Right_on : etykieta lub Lista, lub nazwy pól podobne do tablicy, które mają być dołączone w prawym DataFrame lub wektor / lista wektorów na left_on docs

 101
Author: Shijo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-23 20:34:30