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

时间:2018-10-11 01:25:31

标签: python pandas frames

给出一个数据帧列表,我想迭代地合并它们并返回单个数据帧。输入: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,但不确定如何?

2 个答案:

答案 0 :(得分:2)

类似的事情应该起作用

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

答案 1 :(得分:0)

import pandas as pd

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

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

小室:

P.S。不要创建该库已经提供的功能,请高兴地阅读文档并重新阅读文档,尤其是。因为熊猫文档是卷