我想将一个数据框(df
)与存储在数据框列表中的另一个数据框连接起来。
dflist = [df1, df2, df3]
我想要的是一个像
这样的数据框架new_dflist = [df+df1, df+df2, df+df3]
new_dflist = []
for n in dflist:
new_dflist.append(pd.concat(df, dflist[n]))
但是我得到错误信息TypeError: list indices must be integers or slices, not DataFrame
我也尝试了enumerate
,但我得到错误消息TypeError: list indices must be integers or slices, not tuple
试试这个:
dflist = [df1, df2, df3]
new_dflist=[]
for n in dflist:
new_dflist.append(pd.concat([df, n]))
n
是一个数据框架,你试图把它放在列表索引
但是我得到了错误,TypeError:列表索引必须是整数或切片,而不是DataFrame
这是因为n
是一个数据帧,而不是一个整数。你似乎认为for循环给了你列表的索引,但实际上它直接给了你元素。只需修改代码,使用for循环迭代器中的数据框架:
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]