【问题标题】:iterate concatenations over pandas DataFrame in python在python中迭代pandas DataFrame的连接
【发布时间】:2020-05-21 08:29:34
【问题描述】:

大家早上好, 我有几个数据框

a=pd.DataFrame({'a':[1,2,3,4], 'b':['a','b','c','d']})
b=pd.DataFrame({'a':[5,6,7,8], 'b':['e','f','g','h']})
...
z=pd.DataFrame({'a':[1,1,1,1], 'b':['z','u','r','f']})

yyy=pd.DataFrame({'a':[13,14,15,16], 'b':['o','p','q','r']})

我需要使用循环将它们与另一个连接起来,这样我就不必编写 n 次相同的操作

for df in (a,b,c,d,e,f,g,h,i,l,m,n,o,p,q,r,s,t,u,v,z):
    df=pd.concat((df,y),axis=0)

如果我使用此代码,我没有任何更改,并且一个名为 df 的新数据帧在循环内进行了最后一个连接

df
    a  b
0   1  z
1   1  u
2   1  r
3   1  f
0  13  o
1  14  p
2  15  q
3  16  r

而 a,b,c... 数据帧保持不变... 谢谢大家!

【问题讨论】:

    标签: python pandas dataframe for-loop concat


    【解决方案1】:

    您可以使用以下方法合并多个数据框:

    frames = [df1, df2, df3] # in your case df1->a df2->b ...
    result = pd.concat(frames)
    

    希望对你有帮助。

    【讨论】:

    • 如果我必须连接所有的dfs,这将是一个解决方案,但我想要的是:a+yyy b+yyy c+yyy etc
    猜你喜欢
    • 2018-10-13
    • 2016-06-25
    • 2020-01-03
    • 2021-12-28
    • 2018-08-03
    • 2016-03-11
    • 2013-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多