大熊猫,在保留订单的同时整理天数

时间:2018-01-02 19:47:03

标签: python pandas

我收到的CSV文件是其他几个csv文件的组合。

它有一个日期时间索引(格式为'2017-01-16',年,月,日) 但是,出现了两个问题。

  1. 组合未按顺序进行。

            Date        string        number (different)
    1     2017-01-16   stringvalue     90
    2     2017-01-16   stringvalue    912  
    3     2017-01-16   stringvalue     29 
    4     2017-01-17   stringvalue    883
    5     2017-01-17   stringvalue    223
    6     2017-01-17   stringvalue    211
                   (...)
    230   2015-04-30   stringvalue      908
    231   2015-04-29   stringvalue       28
    232   2015-04-29   stringvalue        9
    233   2015-04-30   stringvalue       98
    234   2015-04-30   stringvalue      909
                    (...)
    450   2017-03-30   stringvalue  348
    
  2. 没有提供时间(实际的日期是最小的数字,但每天约有10个值,需要按顺序保存)

  3. 我通过执行解决了第一个问题

        df = df.reset_index()
        df = df.sort_values('Date')
        df = df.set_index('Date')
    

    这正确地对索引进行排序,但是每天都会弄乱排序。有没有办法对日期进行排序,但保持原始日期内的原始顺序?

2 个答案:

答案 0 :(得分:1)

通过使用新的para并为原始订单添加前缀:

{{1}}

答案 1 :(得分:1)

df['Date'] = pd.to_datetime(df.Date)

如果需要,首先将Date列转换为datetime类型

df = df.reset_index().sort_values(by=['Date', 'index']).drop(['index'], axis=1)

这将重置索引,创建一个名为index的临时列。然后使用Date和& index列,最后删除index列。保留按Date排序的数据框以及它们在原始CSV文件中的显示顺序。