Python 按日期排序数据帧小时数
我通过导入CSV文件制作了一个数据帧。我将date列转换为datetime和分开的小时数。我把24小时换成0小时,放在第一行 将24替换为0:Python 按日期排序数据帧小时数,python,pandas,Python,Pandas,我通过导入CSV文件制作了一个数据帧。我将date列转换为datetime和分开的小时数。我把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-
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
此外,我一直在尝试按日期对小时列进行排序。然而,在对小时进行排序时,它并没有产生我想要的结果。我应该编写什么代码来获得下表示例:
例如(这是一个愿望表)
我知道这可能会让你们很恼火,但我非常感谢你们的帮助…你们可以使用
df.sort\u values()
请提供一个最小的、可复制的示例-这将帮助我们准确地了解您得到了什么以及如何修复它。例如,你说你正在尝试按日期对小时列进行排序,但没有告诉我们你是如何尝试的。你完全正确,约翰逊,我是这里的新手哈哈。。。下次我将确保提供一个可复制的示例。再次感谢!
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
df.sort_values(['Date', 'Hour'], ascending=[True, True])