datetime和functools的应用不清楚
Application of datetime and functools is not clear
我很难理解下面的代码。根据我阅读的文档
apply
对系列 df['startdate']
中的每个值调用函数 partial
- 接下来,
partial
函数将参数 dayfirst=False
传递给 date_change
函数(我很清楚为什么这里使用部分函数)
- 此外,数据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
我很难理解下面的代码。根据我阅读的文档
apply
对系列df['startdate']
中的每个值调用函数 - 接下来,
partial
函数将参数dayfirst=False
传递给date_change
函数(我很清楚为什么这里使用部分函数) - 此外,数据table(如下所示)表示数据看起来相同:之前和之后(主要是顺序)-> 我的第一个想法是这个函数删除了时间戳顺序数据集?
partial
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