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/

相关文章:

运行 Django 命令的 Python 脚本

python - 在 Pandas 中添加多列

python - 使用 sklearn 计算关键字频率仅产生零计数

python - append() 的问题

python - 堆积条形图求和特征值

python - pandas.read_csv() 方法中的 `sep` 和 `delimiter` 属性有什么区别?

delphi - 使用frame2访问frame1的组件,其中frame2在frame1上,在delphi中,动态创建帧

javascript - 如何通过 JavaScript 在 InDesign 中查找所有文本框架

javascript - Opera 帧BUG?

python - 类型错误:不支持的操作数类型为 %: 'NoneType' 和 'str'