繁体   English   中英

如何迭代合并熊猫中的数据帧?

[英]How to iteratively merge data frames in pandas?

给定一个数据帧列表,我想迭代合并它们并返回单个数据帧。 输入: frames (熊猫数据框架列表)和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
import pandas as pd

df = next(dfs)
for records in dfs:
    df = df.append(records)

# the above is equivalent to
df = pd.concat(dfs)

注意事项:

PS尚未创建该库已提供的功能,因此乐于阅读文档并重新阅读文档,特别是。 因为熊猫文档是卷

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM