如何将单个DataFrame与列表中的每个DataFrame分别拼接?
问题解决方法
先明确你代码里的两处错误:
- 循环中的
n已经是dflist里的单个DataFrame,不需要再用dflist[n]去索引列表——这就是第一个报错的根源,你把DataFrame当成了列表索引。 pd.concat()要求传入可迭代对象(比如列表),不能直接传两个独立的DataFrame。
正确的循环写法
import pandas as pd new_dflist = [] for df_item in dflist: # 将目标df和当前循环到的DataFrame打包成列表传给concat combined_df = pd.concat([df, df_item]) new_dflist.append(combined_df)
更简洁的列表推导式写法
如果想简化代码,用列表推导式可以一步生成结果:
new_dflist = [pd.concat([df, item]) for item in dflist]
这样就能得到你需要的new_dflist,其中每个元素都是df与dflist对应位置DataFrame的拼接结果。
内容的提问来源于stack exchange,提问作者michan2378
相关产品推荐
相关产品推荐

