datetime和functools的应用不清楚

Application of datetime and functools is not clear

我很难理解下面的代码。根据我阅读的文档

  1. apply 对系列 df['startdate']
  2. 中的每个值调用函数 partial
  3. 接下来,partial 函数将参数 dayfirst=False 传递给 date_change 函数(我很清楚为什么这里使用部分函数)
  4. 此外,数据table(如下所示)表示数据看起来相同:之前和之后(主要是顺序)-> 我的第一个想法是这个函数删除了时间戳顺序数据集?
    from datetime import timedelta
    from functools import partial
    
    df['startdate'].apply(partial(date_change, dayfirst=False))

前后数据table(看起来一样:形状和顺序)

0       2019-12-17
1       2019-12-18
2       2019-12-19
3       2019-12-20
4       2019-12-21
5       2021-10-28
6       2021-10-29

partial returns 相当于 date_change 的可调用函数,其中 dayfirst=False.

基本上,这相当于对 df['startdate'] 中的每个值调用 data_change(value, dayfirst=False)

您是否正在尝试将日期字符串转换为日期时间?

df['startdate2'] = pd.to_datetime(df['startdate'], dayfirst=True)

输出:

# It looks like the same
>>> df
    startdate startdate2
0  2019-12-17 2019-12-17
1  2019-12-18 2019-12-18
2  2019-12-19 2019-12-19
3  2019-12-20 2019-12-20
4  2019-12-21 2019-12-21
5  2021-10-28 2021-10-28
6  2021-10-29 2021-10-29

# But in fact, this is not the case
>>> df.dtypes
startdate             object
startdate2    datetime64[ns]
dtype: object