gpt4 book ai didi

python - 将 to_datetime 应用于除索引之外的所有列

转载 作者:太空宇宙 更新时间:2023-11-03 15:38:53 24 4
gpt4 key购买 nike

我有一个 DataFrame,它有一个索引 (uid) 和 9 个变量,这些变量当前是字符串形式的日期。

我设法使用 pd.to_datetime 将它们转换为日期时间,但是我想对所有列执行此操作,而不需要像这样一一为所有列编写命令:

initData['invited'] = pd.to_datetime(initData['invited'], dayfirst = True)
initData['sign_up'] = pd.to_datetime(initData['sign_up'], dayfirst = True)
initData['card_activated'] = pd.to_datetime(initData['card_activated'], dayfirst = True)

我怎样才能做得更优雅?我尝试了 .apply 但收到错误,因为它也尝试将数据帧索引转换为日期时间。

最佳答案

使用apply :

initData = initData.apply(pd.to_datetime, dayfirst=True)
#same as
#initData = initData.apply(lambda x: pd.to_datetime(x, dayfirst = True))

示例:

initData = pd.DataFrame({'A':['01-01-2017','02-01-2017','03-01-2017'],
'B':['05-01-2017','06-01-2017','07-01-2017'],
'C':['01-01-2017','02-01-2017','03-01-2017']})

print (initData)
A B C
0 01-01-2017 05-01-2017 01-01-2017
1 02-01-2017 06-01-2017 02-01-2017
2 03-01-2017 07-01-2017 03-01-2017

initData = initData.apply(pd.to_datetime, dayfirst=True)

print (initData)
A B C
0 2017-01-01 2017-01-05 2017-01-01
1 2017-01-02 2017-01-06 2017-01-02
2 2017-01-03 2017-01-07 2017-01-03

print (initData.dtypes)
A datetime64[ns]
B datetime64[ns]
C datetime64[ns]
dtype: object

关于python - 将 to_datetime 应用于除索引之外的所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42320296/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com