熊猫数据帧 将字符串转换为日期,然后排序带来失败

我有一个带有字符串的列,用于转换为日期时间(西班牙语日期格式)


>>> df['Date'].head()


0    31/10/2019

1    31/10/2019

2    30/10/2019

3    30/10/2019

4    29/10/2019

Name: Date, dtype: object

转换


>>>pd.to_datetime(df['Date'], dayfirst = True)

>>>df['Date'].head()

0   2019-10-31

1   2019-10-31

2   2019-10-30

3   2019-10-30

4   2019-10-29

Name: Date, dtype: datetime64[ns]

现在我想按日期对它进行排序,输出奇怪地转换为:


>>>df['Date'] =df.sort_values(by=['Date'], ascending = True)

>>>df['Date'].head()

0    9443248_19

1    9443205_19

2    9441864_19

3    9441809_19

4    9440310_19

Name: Date, dtype: object

任何线索,这里发生了什么?为什么类型转换回对象?


繁花不似锦
浏览 48回答 1
1回答

婷婷同学_

确保您的“日期”列已转换为第一个,然后排序应该可以正常工作:datetimeimport pandas as pddf = pd.DataFrame({'Date': ['31/10/2019', '31/10/2019', '30/10/2019', '30/10/2019', '29/10/2019']})df['Date'] = pd.to_datetime(df['Date'], dayfirst=True)df.sort_values(by='Date', ascending=True, inplace=True)# df['Date']# 4   2019-10-29# 2   2019-10-30# 3   2019-10-30# 0   2019-10-31# 1   2019-10-31# Name: Date, dtype: datetime64[ns
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python