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