Python 使用concat作为字典时,我得到一个错误:第一个参数必须是pandas对象的iterable,您传递了一个类型为“的对象”;“数据帧”;

Python 使用concat作为字典时,我得到一个错误:第一个参数必须是pandas对象的iterable,您传递了一个类型为“的对象”;“数据帧”;,python,pandas,dictionary,concat,Python,Pandas,Dictionary,Concat,我有一个带有数据帧的字典,看起来像这样: dataframes = {'Df_20100101': DataFrame, 'Df_20100102': DataFrame, 'Df_20100103': DataFrame} 所有数据帧都有相同的变量(价格、数量和日期)和相同的索引。我想把所有不同的数据帧放到一个数据帧中。我使用以下代码: df = pd.concat([pd.concat(v,ignore_index=True) for k,v in dataframes.items()])

我有一个带有数据帧的字典,看起来像这样:

dataframes = {'Df_20100101': DataFrame, 'Df_20100102': DataFrame, 'Df_20100103': DataFrame}
所有数据帧都有相同的变量(价格、数量和日期)和相同的索引。我想把所有不同的数据帧放到一个数据帧中。我使用以下代码:

df = pd.concat([pd.concat(v,ignore_index=True) for k,v in dataframes.items()])
但是,我得到一个错误:
第一个参数必须是iterable of pandas对象,您传递了一个类型为“DataFrame”的对象。

是因为所有变量都有相同的索引吗

有人能帮我吗


谢谢大家!

您正在对字典中的各个数据帧调用
pd.concat
(您已经嵌套了
pd.concat()
调用)。相反,您只需要通过列表理解将数据帧收集到单个列表中,然后调用
.concat()

df = pd.concat([v for _, v in dataframes.items()], ignore_index=True)
对于k,v
也是完全有效的,但是习惯上对要丢弃的值使用
\ucode>,这里不使用键

您也可以只使用
.values()


df=pd.concat([v代表u,v代表dataframes.items()],忽略_index=True)
?我不知道你为什么要打两次电话给concat,请你在给出建议时更具建设性一点好吗?你为什么说这毫无意义?我们是来帮忙的。是的,它是一个字典,有不同的数据帧,具有相同的变量,但观察结果不同。因为
'Df_20100101':DataFrame
等上突出显示的语法表明您正在将通用Df构造函数存储在dict中,但实际上并不是这样做的。这是如何呈现给我和我自己阅读的结合。好吧,这就是问题所在。我真的很感谢你的帮助。不用担心,为沟通错误道歉:)这完全解决了你的问题吗?
df = pd.concat(dataframes.values(), ignore_index=True)