【问题标题】:Need help in removing duplicate dates and merging values of two rows in Pandas Dataframe (python)在 Pandas Dataframe (python) 中删除重复日期和合并两行的值时需要帮助
【发布时间】:2017-10-16 17:14:13
【问题描述】:

我正在关注 pandas 数据框中的数据。一些日期值重复(2010-07-31,2010-10-31)。如何删除重复的日期并合并两行之间的值。从第一行获取 A % B 值,从第二行获取 C & D 值。

        Date                A       B           C       D
     1  2010-06-30 0:00:00  47.1    29.34       0.036   100.8   
     2  2010-07-31 0:00:00  47.1    29.34               
     3  2010-07-31 0:00:00                      -4.644  100.2   
     4  2010-08-31 0:00:00  47.1    29.34       -1.481  100.4   
     5  2010-09-30 0:00:00  29.3    14.15        3.865  101.6   
     6  2010-10-31 0:00:00  29.3    14.15               
     7  2010-10-31 0:00:00                       0.517  102.6   

预期输出:

        Date                A       B           C       D
     1  2010-06-30 0:00:00  47.1    29.34       0.036   100.8   
     2  2010-07-31 0:00:00  47.1    29.34       -4.644  100.2           
     4  2010-08-31 0:00:00  47.1    29.34       -1.481  100.4   
     5  2010-09-30 0:00:00  29.3    14.15        3.865  101.6   
     6  2010-10-31 0:00:00  29.3    14.15        0.517  102.6       

谢谢!

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    使用 pandas groupby 并按 sum 聚合(使用 Dated 作为列名,而不是保留的 Date):

    df.groupby(['Dated']).sum()
    

    【讨论】:

      【解决方案2】:

      stackunstack 的魔力

      df.set_index('Date').replace({'':np.nan}).stack().unstack()
      Out[515]: 
                            A      B      C      D
      Date                                        
      2010-06-300:00:00  47.1  29.34  0.036  100.8
      2010-07-310:00:00  47.1  29.34 -4.644  100.2
      2010-08-310:00:00  47.1  29.34 -1.481  100.4
      2010-09-300:00:00  29.3  14.15  3.865  101.6
      2010-10-310:00:00  29.3  14.15  0.517  102.6
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-02-15
        • 2018-01-21
        • 2021-01-02
        • 1970-01-01
        • 2016-05-05
        • 1970-01-01
        • 2018-10-23
        • 1970-01-01
        相关资源
        最近更新 更多