我收到的CSV文件是其他几个csv文件的组合。
它有一个日期时间索引(格式为'2017-01-16',年,月,日) 但是,出现了两个问题。
组合未按顺序进行。
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
没有提供时间(实际的日期是最小的数字,但每天约有10个值,需要按顺序保存)
我通过执行解决了第一个问题
df = df.reset_index()
df = df.sort_values('Date')
df = df.set_index('Date')
这正确地对索引进行排序,但是每天都会弄乱排序。有没有办法对日期进行排序,但保持原始日期内的原始顺序?
答案 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文件中的显示顺序。