变量而不是熊猫函数中的数据框名称

时间:2018-06-19 14:28:13

标签: python pandas

我有类似的东西

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与类型为

的实例合并

我坚持如何让熊猫识别变量作为数据框的名称。谢谢!

2 个答案:

答案 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')