我有两个df:df_jan_2001
和df_feb_2001
。我想使用以下语法进行完全外连接:
new_df = pd.merge('df_jan2001', 'df_feb2001', how='outer', left_on=
['designation', 'name'], right_on=['designation', 'name'])
designation
和name
都是字符串变量。
为什么我会收到以下错误?如何解决?
"ValueError: can not merge DataFrame with instance of type <class 'str'>"
很抱歉,如果这是一个基本问题,请开始使用pandas。
答案 0 :(得分:2)
你可以这样试试。
new_df = pd.merge(df_jan2001, df_feb2001, how='outer', left_on=['designation', 'name'], right_on=['designation', 'name'])
答案 1 :(得分:0)
尝试使用new_df = pd.merge(df_jan2001.to_frame(), df_feb2001.to_frame(), how='outer', left_on=['designation', 'name'], right_on=['designation', 'name'])
答案 2 :(得分:0)
问题'df_jan2001'
为string
,df_jan2001
在此DataFrame
。
如果两个DataFrame
中的列相同,请仅使用参数on
:
new_df = pd.merge(df_jan2001, df_feb2001, how='outer', on=['designation', 'name'])