基于日期的字典中的Concat数据[重复]

Posted

技术标签:

【中文标题】基于日期的字典中的Concat数据[重复]【英文标题】:Concat data from dictionary based on date [duplicate] 【发布时间】:2021-03-26 07:58:04 【问题描述】:

所以我有一个带有数据框的字典: 例如 df[0]=

    Date         StockPrice
    01/01/2020   34.2
    01/02/2020   35
    01/03/2020   36
      ...

df[1]=

    Date        Rate    
   01/01/2020   4
   01/02/2020   5
   01/03/2020   5
   ...
 

df[2]=

   Date       High   Low 
   01/01/2020   45    42
   01/03/2020   45    40
   ...

df[3]=

Date         Rate2
01/01/2020    5 
01/03/2020    6

我想在日期合并所有这些数据框,所以它看起来像这样:

newdateframe=

Date          StockPrice     Rate    High   Low    Rate 2
01/02/2020     34.2          4       45     42     5
01/02/2020     35            5       NA     NA     NA
01/03/2020     36            5       45     40     6

我尝试这样做: pd.concat(df.values(), ignore_index=True) 但这不起作用,因为它只是将每个数据框并排放置,甚至没有捕获我所有的日期。我的字典有超过 10 个数据框,所以我不想一个一个地进行合并,我宁愿做类似于上面的代码或循环的事情。

【问题讨论】:

【参考方案1】:

试试:

pd.concat([d.set_index('Date') for d in df.values()], axis=1)

输出:

            StockPrice  Rate  High   Low  Rate2
01/01/2020        34.2     4  45.0  42.0    5.0
01/02/2020        35.0     5   NaN   NaN    NaN
01/03/2020        36.0     5  45.0  40.0    6.0

【讨论】:

02/02/2016 到 -01/02/2020 然后又从 2016 年开始 它适用于示例数据,请参阅包含的输出。你是什​​么意思它没有捕获所有数据? 有没有办法组织它,以便按顺序捕获日期 dates in order是什么意思? 所以我的输出例如是从 01/01/2020 到 06/04/2020 然后在 01/01/2020 再次开始一些数据,你知道为什么正在这样做

以上是关于基于日期的字典中的Concat数据[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何编写和阅读日期时间字典[重复]

从字典创建数据框[重复]

在Python 3.4中按日期对字典列表进行排序[重复]

基于多个日期列创建最小日期列的 SQL 代码 [重复]

基于没有重复的键合并两个字典

如何使用字典对象从工作表中的重复标题中查找和组合数据