pandas 将 Dataframe 与列表中的 Dataframe 连接

kzipqqlq  于 2022-12-16  发布在  其他
关注(0)|答案(2)|浏览(185)

我想将一个 Dataframe (df)与存储在 Dataframe 列表中的另一个 Dataframe 连接起来。
dflist = [df1,df2,df3]
我想要的是一个如下所示的 Dataframe
新的定义列表= [df+df1,df+df2,df+df3]

new_dflist=[]
for n in dflist:
    new_dflist.append(pd.concat(df, dflist[n]))

但我得到了错误,TypeError:列表索引必须是整数或切片,而不是DataFrame
我还尝试使用enumerate,但得到错误TypeError:列表索引必须是整数或切片,而不是元组

nhhxz33t

nhhxz33t1#

试试这个:

dflist = [df1, df2, df3]
new_dflist=[]
for n in dflist:
    new_dflist.append(pd.concat([df, n]))

n是 Dataframe ,您正尝试将其放入列表索引中

pkln4tw6

pkln4tw62#

但我得到了错误,TypeError:列表索引必须是整数或切片,而不是DataFrame
这是因为n是一个 Dataframe ,而不是一个整数。你似乎认为for循环给你一个列表中的索引,但实际上它直接给你项目。只需修改你的代码,使用for循环迭代器中的 Dataframe :

new_dflist=[]
for new_df in dflist:
    new_dflist.append(pd.concat([df, new_df]))

或者,您可以使用列表解析在一行中完成此操作:

new_dflist=[pd.concat([df, new_df]) for new_df in dflist]

相关问题