如何对从CSV文件导入的日期进行排序?

时间:2019-10-15 23:42:34

标签: python pandas date

我正在尝试编写一个程序,该程序可以打印已排序日期的列表,但它会一直按“天”而不是整个日期,日,月,年进行排序

我对python很陌生,所以可能我做错了很多,但是任何帮助将不胜感激。 因此,有了它,您可以在两页中查看列表。 日期会排序 2004年12月3日 2001年8月13日 15/10/2014 但我需要对整个日期进行排序

df = pd.read_csv('Employee.csv')
df = df.sort_values('Date of Employment.')
List1 = df.iloc[:50, 1:]
List2 = df.iloc[50:99, 1:]

2 个答案:

答案 0 :(得分:0)

您需要转换就业日期。到排序前的日期

df['Date of Employment.'] = pd.to_datetime(df['Date of Employment.'],format= '%d/%m/%Y')

否则,这只是Python的字符串

答案 1 :(得分:0)

必须使用datetime数据类型才能正确排序日期

您需要使用以下两种方法之一将日期转换为datetime对象:

方法1

pd.to_datetime + DataFrame.sort_values

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

方法2

您可以在加载Pandas DataFrame的同时解析日期:

df = pd.read_csv('Employee.csv', parse_dates=['Date of Employement.'])

这与第一种方法等效,不同之处在于所有步骤都在一个步骤中完成。


接下来,您需要按升序或降序对日期时间值进行排序。

升序:

`df.sort_values('Date of Employment.')`

下降

`df.sort_values('Date of Employment.',ascending=False)`