python - 从日期时间中去除微秒
问题描述
对于给定的 timedata - 2018-06-01 06:36:40.047883+00:00
,我想删除微秒并去除“+”之后的值。我的大部分数据集都包含2018-06-04 11:30:00+00:00
没有微秒部分的值。
如何为所有值使用通用的日期时间格式?
解决方案
假设您混合了如下所示的不同格式:
import pandas as pd
df = pd.DataFrame()
df['time'] = ['2018-06-01 06:36:40.047883+00:00', '2018-06-01 06:36:40.047883+00:00', '2018-06-04 11:30:00+00:00', '2018-06-01 06:36:40.047883']
对应输出:
time
0 2018-06-01 06:36:40.047883+00:00
1 2018-06-01 06:36:40.047883+00:00
2 2018-06-04 11:30:00+00:00
3 2018-06-01 06:36:40.047883
您希望通过删除微秒和 + 之后的任何内容来获得通用格式。简而言之,您需要 YMD HMS 格式的内容。
目前,让我假设您的列是字符串格式。因此,我们现在将其转换为日期时间格式,然后将微秒部分替换为 0 并去掉它。
df['time'] = pd.to_datetime(df['time'])
df['time'] = df['time'].apply(lambda x: x.replace(microsecond = 0))
输出:
time
0 2018-06-01 06:36:40
1 2018-06-01 06:36:40
2 2018-06-04 11:30:00
3 2018-06-01 06:36:40
推荐阅读
- git - Docker 命令在 ARM 上失败
- android - Kotlin - 如何更改语言环境
- python - 冻结/推理模型的 get_collection 等价物是什么?
- javascript - 有没有办法更新数据表上选定的行数据?
- postgresql - 在 localDB 上恢复备份失败(退出代码:1)
- c# - Polly Policy.TimeoutAsync 没有给出 TimeoutRejected 异常
- db2 - 前端可以使用服务程序内部的程序吗?
- puppeteer - Nestjs框架中的构造函数问题
- onnx - ML.NET 导出到 ONNX
- ios - 如何使用 .crt SSL 证书文件连接 MQTT 服务器?