最佳答案
您可以使用 pd.to_datetime()
与 errors='coerce'
参数,如下:
# convert Date with different format strings
df['Date1'] = pd.to_datetime(df['Date'], format='%m/%d/%Y', errors='coerce')
df['Date2'] = pd.to_datetime(df['Date'], format='%m-%d-%y', errors='coerce')
将结果与 .combine_first()
合并:df['Date_combined'] = df['Date1'].combine_first(df['Date2'])
然后,您可以按以下方式对日期进行排序:df.sort_values(by='Date_combined')
演示输入:
Date
0 11/26/2013
1 11/26/2015
2 3/23/2014
3 08-02-13
4 08-02-15
5 09-02-13
6 1/22/2014
输出: Date Date1 Date2 Date_combined
0 11/26/2013 2013-11-26 NaT 2013-11-26
1 11/26/2015 2015-11-26 NaT 2015-11-26
2 3/23/2014 2014-03-23 NaT 2014-03-23
3 08-02-13 NaT 2013-08-02 2013-08-02
4 08-02-15 NaT 2015-08-02 2015-08-02
5 09-02-13 NaT 2013-09-02 2013-09-02
6 1/22/2014 2014-01-22 NaT 2014-01-22
关于python - Excel不同格式的日期如何在Pandas数据框中排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68782700/