我通过导入 CSV 文件制作了一个数据框。我将日期列转换为日期时间和分隔的小时数。我将小时 24 替换为 0 放在第一行。
将 24 替换为 0:
df['Hour'] = df['Hour'].replace([24], 0)
df
结果如下:
Hour Value
Date
2016-01-01 1 -1.09
2016-01-01 2 -2.41
2016-01-01 12 0.00
2016-01-01 13 0.00
2016-01-01 14 0.00
2016-01-01 0 0.00
... ... ...
2020-12-31 20 19.69
2020-12-31 21 20.78
2020-12-31 22 27.85
2020-12-31 23 19.68
2020-12-31 0 27.37
此外,我一直在尝试按日期对小时列进行排序。但是,在对小时进行排序时,它不会产生我想要的结果。我应该编写什么代码才能获得下表示例:
例如(这是一个欲望表),
Hour Value
Date
2016-01-01 0 0.00
2016-01-01 1 -1.09
2016-01-01 2 -2.41
2016-01-01 12 0.00
2016-01-01 13 0.00
2016-01-01 14 0.00
2017-01-01 0 0.00
2017-01-01 1 -5.03
2017-01-01 2 -2.75
2017-01-01 3 4.32
2017-01-01 4 0.00
2017-01-01 5 1.45
... ... ...
2020-12-31 0 27.37
2020-12-31 20 19.69
2020-12-31 21 20.78
2020-12-31 22 27.85
2020-12-31 23 19.68
我知道这可能会惹恼你们,但我真的很感激你们的帮助...
答案 0 :(得分:2)
你可以使用df.sort_values()
df.sort_values(['Date', 'Hour'], ascending=[True, True])