gpt4 book ai didi

python - 如何使用 pandas/python 从日期和字符串的列组合中删除时间戳?

转载 作者:行者123 更新时间:2023-12-04 08:30:46 25 4
gpt4 key购买 nike

假设我有一个专栏 col1 在数据框中 df 像这样,

col1                 |
2018-01-30 00:00:00 |
Yes |
|
nan |
None |
我想要以下输出 col1 没有时间戳,同时保持其余内容完整,
col1                 |
2018-01-30 |
Yes |
|
nan |
None |
我使用了以下代码行,
df['col2'] = pd.to_datetime(df['col1'], errors='coerce')
但似乎并没有解决上述问题。
我得到以下输出,
col1      |            
2018-01-30|
NaT |
NaT |
NaT |
NaT |
我正在寻找一个 Pandas 解决方案,但理想情况下正在寻找一个我可以使用 python 重复使用的函数。任何帮助是极大的赞赏!

最佳答案

一种想法是将日期时间转换为字符串替代,然后将缺失值替换为原始值:

df['col1'] = (pd.to_datetime(df['col1'], errors='coerce').dt.strftime('%Y-%m-%d')
.fillna(df['col1']))
或者将日期时间转换为 python 日期:
df['col1'] = pd.to_datetime(df['col1'], errors='coerce').dt.date.fillna(df['col1'])
print (df)
col1
0 2018-01-30
1 Yes
2
3 NaN
4 None

关于python - 如何使用 pandas/python 从日期和字符串的列组合中删除时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65032674/

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