python - 如何迭代合并pandas中的数据框?

标签 python pandas frames

给定一个数据帧列表,我想迭代地合并它们并返回单个数据帧。输入:frames(pandas 数据帧列表)和 on_columns(包含要合并的列名称的字符串或字符串列表)。如何使用 df.merge 来完成此任务? ”“” 给定一个数据框列表,迭代地合并它们并返回 单个数据框

"""HINT: Use slice on frames when iterating and merging.

Arguments:
    frames {list} -- a list of pandas DataFrames
    on_columns {string or list} -- a string or list of strings
     containing the column names on which to join

Returns:
    df -- a pandas.DataFrame containing a merged version of the 
    two provided dataframes. If frames is None or an empty list return None
"""
def merge(frames, on_columns):
     #implementation here
     df = #merged df



return df

编辑:我想也许我可以使用 df.concat 但不确定如何使用?

最佳答案

像这样的东西应该有效,

def merge(frames, on_columns):
    #implementation here
    if not frames:
        return None
    if len(frames) == 1:
        return frames[0]
    out = frames[0]
    for df in frames[1:]:
        out = out.merge(df, on=on_columns)
    return out

关于python - 如何迭代合并pandas中的数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52750850/

相关文章:

Python CSV 模块

python - Sieve of Eratosthenes set-实现困惑

python - 为什么 matplotlib 没有属性 'pylab' ?

Python PIL 图像.tostring()

python - 拼接图片时ffmpeg视频长度为0

python - Dask DataFrame Groupby 分区

python - 如何在 pandas 中进行分组和转换

python - 将一个数据帧除以另一个数据帧的问题

VB6框架高度

python - Tkinter - 如何删除框架周围的边框?