python - 在函数内合并数据帧

标签 python pandas

我有两个数据框,想将它们合并到一个函数中。

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/

相关文章:

python - 我自己制作分数课

python - Pandas :计算第一个连续的真值

python - 通过参数确定绘图平滑度

python - 如何使用 sqlalchemy 打印 MySQL 列

pandas - Pandas Dataframe 的 Sublime Text 打印输出

python - 将第一个数组的每个元素与第二个数组的所有元素相加

python - 快速算法,精确查找二元矩阵中的 k 列,使这些列的总和为 1-向量

Python Tornado 处理程序警告禁用

python - Python 中的 bool 运算(文档中的符号)

python - 填充 Pandas 数据框中缺失的中间值