python - 对 csv 文件中的列日期/时间数据进行排序
问题描述
希望得到您的专家帮助,我确实先检查了论坛。我是使用 repl.it (Python 3.8.2) 的初学者,第一次使用 pandas。提前致谢。
Python 无法将 Start_Date_Time 列从旧到新正确排序(即使它可以在 csv 文件中手动正确排序)。Python 输出显示它按单元格的第一个数字排序(澳大利亚格式:dd/mm/yyyy)
import pandas as pd
csv1 = pd.read_csv("scheduleList.csv")
sort_by_date = csv1.sort_values("Start_Date_Time")
print (sort_by_date)
下面是简化的 csv 数据。我不想拆分日期和时间的列,因为想稍后将其值与今天的日期和时间进行比较(计算差异)
Event Start_Date_Time Duration (mins)
A 1/06/2020 7:00 60
B 1/06/2020 12:30 60
C 2/06/2020 18:30 120
D 2/06/2020 16:00 45
E 5/06/2020 17:30 60
F 12/06/2020 12:30 60
G 7/06/2020 13:00 60
H 4/06/2020 18:00 60
I 6/06/2020 11:30 60
J 6/06/2020 8:00 180
K 11/06/2020 12:30 60
L 28/06/2020 11:00 300
M 18/07/2020 19:30 120
N 20/06/2020 9:00 60
O 31/05/2020 10:00 60
P 7/06/2020 10:00 60
Q 14/06/2020 10:00 60
解决方案
试试下面的代码。我添加了一行来解析Start_Date_Time
为一DateTime
列,并将方法的ascending
参数设置为.sort_values
False
import pandas as pd
csv1 = pd.read_csv("scheduleList.csv")
csv1['Start_Date_Time'] = pd.to_datetime(csv1['Start_Date_Time']) # change over here
sort_by_date = csv1.sort_values("Start_Date_Time",ascending=False) # change over here
print (sort_by_date)
推荐阅读
- java - 如何使用Java将文本附加到一个目录中的多个文件
- java - Socket 到 Socket 通信,Server 仅充当中间人
- ruby-on-rails - 如何在activerecord中切换两个表
- javascript - 创建一个接收整数并以螺旋格式返回 NxN 二维数组的函数
- maven - Flyway maven插件设置
- javascript - 为什么需要@babel-core
- c# - 如何在没有附加类的情况下解析 json?
- node.js - 找到所需文件后,如何立即停止递归搜索目录?
- python - 如何从 Pandas 数据框中获取 1 和 0 的最大连续数量
- android - RecyclerView ItemView 在 OREO 及以上版本崩溃