如何合并在 for 循环中生成的数据帧

时间:2021-08-01 10:50:34

标签: pandas

我有一个循环,它根据下面的列表创建相似的数据框

Name = ['A','B,'C','D']
for name in Name:
my_dfs[name] = pd.read_csv(r"C:\Hs\OB\O\%s.csv" % name, delimiter=';')
my_dfs[name].columns = ['Time','s1', 's2','s3','s4','s5','s6']
my_dfs[name]=my_dfs[name].head(10)

上面生成了4个相似的数据框。我想将这些数据帧合并为 1 个数据帧。我该怎么办

1 个答案:

答案 0 :(得分:1)

这取决于您的预期结果。如果需要,您可以连接彼此下方的数据框:

pd.concat(my_dfs,ignore_index=True)

如果你真的想“合并”这些数据框,你可以直接在循环内进行:

Name = ['A','B','C','D']
my_df =None
my_dfs ={}
for name in Name:
my_dfs[name] = pd.read_csv(r"C:\Hs\OB\O\%s.csv" % name, delimiter=';')
my_dfs[name].columns = ['Time','s1', 's2','s3','s4','s5','s6']
my_dfs[name]=my_dfs[name].head(10)
if my_df is None: my_df = my_dfs[name] 
my_df = my_df.merge(my_dfs[name])

在这种情况下,您需要根据具体情况指定更多参数。例如,如果是内部/外部合并,或者您希望合并发生在哪些列上等。