我正在尝试编写一个程序,该程序可以打印已排序日期的列表,但它会一直按“天”而不是整个日期,日,月,年进行排序
我对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:]
答案 0 :(得分:0)
您需要转换就业日期。到排序前的日期
df['Date of Employment.'] = pd.to_datetime(df['Date of Employment.'],format= '%d/%m/%Y')
否则,这只是Python的字符串
答案 1 :(得分:0)
必须使用datetime数据类型才能正确排序日期
您需要使用以下两种方法之一将日期转换为datetime对象:
pd.to_datetime
+ DataFrame.sort_values
:
df['Date of Employment.'] = pd.to_datetime(df['Date of Employment.']')
您可以在加载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)`