我有两个数据框,想将它们合并到一个函数中。
df = pd.DataFrame(data={'col1': [1, 2], 'A': ['A', 'A']})
df_temp = pd.DataFrame(data={'col1': [1, 2], 'B': ['B', 'B']})
def func(df):
dx = df.merge(df_temp, how='left', left_on='col1', right_on='col1')
return dx
df.pipe(func)
print(df)
结果:
pd.DataFrame(data={'col1': [1, 2], 'A': ['A', 'A']})
结果我得到了相同的原始 df 。 df_temp 中的 B 列没有按照我的预期添加到数据帧 df 中。为什么这不起作用?
最佳答案
您忘记将 df 分配给管道应用函数 (func) 的结果。
OLD: df.pipe(func)
NEW: df=df.pipe(func)
关于python - 在函数内合并数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56383958/