python - 在循环内保存 pandas 合并

标签 python pandas pandas-groupby

我正在传递 1,000 行的 block 并将它们合并到 pandas 数据帧中,但合并的数据帧不会保存,并且每次都会输出一个新的数据帧。如何保存每次迭代的合并?

def mergeDFs:
    def merge(x):
        df = df.merge(x, left_on="id", right_on="id")


    reader = pd.read_csv("train_lag.csv", chunksize=1000)

    for r in reader:
        merged = merge(r)
    return merged

最佳答案

考虑通过列表理解进行concat:

def proc_merge(x):
  return df.merge(x, on="id")

reader = pd.read_csv("train_lag.csv", chunksize=1000)

final_df = pd.concat([proc_merge(r) for r in reader])

关于python - 在循环内保存 pandas 合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58566064/

相关文章:

python - pandas - 替换/删除一列中另一列中每一行的部分

python - 如果函数也是自定义函数,如何在使用python groupby后添加一列?

python - 在对分组对象执行操作并相应地创建变量后索引数据框

python - 为什么有时会打印 "Correct!"两次并且不接受输入?

python - 从 pandas 的 DataFrame 中删除所有 NaN 的行

python - 排序列表的反向索引

python - 一起洗牌几个数据帧

python - 在 tkinter GUI 中更新 matplotlib 图

python - pandas 中箱线图的数据限制和最大距离(Python)

Python Dataframe如何使用groupby求和行值