我有类似的东西
df3 = pd.merge(df1, df2, how='inner', left_on='x', right_on='y')
但是我希望这两个数据框由变量代替:
df3 = pd.merge(df_var, df_var2, how='inner', left_on='x', right_on='y')
我收到此错误:ValueError:无法将DataFrame与类型为
的实例合并我坚持如何让熊猫识别变量作为数据框的名称。谢谢!
答案 0 :(得分:0)
如何将数据帧存储在字典中并使用键引用它们
df_dict = {var: df1, var2: df2}
df3 = pd.merge(df_dict[var], df_dict[var2], how='inner', left_on='x', right_on='y')
答案 1 :(得分:0)
如果DataFrame已转换为字符串,则需要在合并之前将它们转换回DataFrame。这是您可以做到的一种方法:
from io import StringIO
# to strings
df_var = df1.to_string(index=False)
df_var2 = df2.to_string(index=False)
# back to DataFrames
df_var = pd.read_csv(StringIO(df_var))
df_var2 = pd.read_csv(StringIO(df_var2))
df3 = pd.merge(df_var, df_var2, how='inner', left_on='x', right_on='y')