python - Pandas 将日期时间对象类型转换为日期时间
问题描述
我是 Pandas 和 Python 的新手。我想将日期时间对象转换为日期时间。我有一个名为 requestDate 的列,用于对象类型。以下是一种样本类型
2020 年 2 月 4 日星期二 01:38 PM GMT+2
我正在尝试通过添加以下代码将上述对象转换为 DateTime,但是它显示的错误未转换数据仍然存在。我已删除 GMT+2。请帮助我。
test_df['requestDate'] = test_df['requestDate'].str.rstrip('GMT+2')
test_df['requestDate'] = pd.to_datetime(test_df['requestDate'], format='%a, %d-%b-%Y %H:%M %p')
解决方案
数据中的最后一个空格有问题,因此添加Series.str.strip
并更改%H
为%I
12 小时格式的比赛时间:
test_df = pd.DataFrame({'requestDate':['Tue, 04-Feb-2020 01:38 PM GMT+2',
'Tue, 04-Feb-2020 01:38 PM GMT+2']})
test_df['requestDate'] = test_df['requestDate'].str.rstrip('GMT+2').str.strip()
test_df['requestDate'] = pd.to_datetime(test_df['requestDate'],
format='%a, %d-%b-%Y %I:%M %p')
print (test_df)
requestDate
0 2020-02-04 13:38:00
1 2020-02-04 13:38:00
这里添加空间不能使用,因为也M
被删除:
test_df['requestDate'] = test_df['requestDate'].str.rstrip(' GMT+2')
print (test_df)
requestDate
0 Tue, 04-Feb-2020 01:38 P
1 Tue, 04-Feb-2020 01:38 P
Series.str.replace
和 escaped的可能解决方案+
,因为特殊的正则表达式字符:
test_df['requestDate'] = test_df['requestDate'].str.replace(' GMT\+2', '')
print (test_df)
requestDate
0 Tue, 04-Feb-2020 01:38 PM
1 Tue, 04-Feb-2020 01:38 PM
推荐阅读
- python - 网页抓取不适用于所有链接。错误:需要“,”分隔符:第 1 行第 2198 列(字符 2197)
- bash - 将密码硬编码到 bash 脚本中
- python - Numpy 多个最小索引 3d 数组
- mysql - CloudFormation 更改集显示替换尽管没有更改
- terraform - Terraform 使用本地提供程序/插件
- git - 如何在 Gitlab 中更改多个合并请求的目标分支
- android - 尝试更改观察者内部的 MutableLiveData 值时应用程序没有响应
- imputation - 如何重新编码缺失的基因型代码在plink的ped文件中为“'-'”
- python - 使用来自 scikit learn 的 LabelEncoder,有没有办法改变对特定列的值进行编码的方式?
- java - 是否可以在没有 Maven / Gradle 的情况下创建 Google App Engine 应用程序?