python - 如果缺少日期,熊猫将日期时间设置为每月的第一天?
问题描述
当我使用 Pandas 转换我的日期时间字符串时,如果缺少这一天,它会将其设置为该月的第一天。
例如:
pd.to_datetime('2017-06')
OUT[]: Timestamp('2017-06-01 00:00:00')
有没有办法让它使用每月的第 15 天(中间)?
编辑:
如果缺少这一天,我只希望它使用第 15 天,否则使用实际日期 - 所以将所有值偏移 15 是行不通的。
解决方案
虽然使用实际调用不可能做到这一点,但您始终可以使用正则表达式匹配来确定字符串是否包含日期并相应地继续。注意:此代码仅在使用“-”分隔日期时有效:
import re
date_str = '2017-06'
if (not bool(re.match('.+-.+-.+',date_str))):
pd.to_datetime(date_str).replace(date=15)
else:
pd.to_datetime(date_str)
推荐阅读
- python - Python SpeechRecognition 使其他声音静音
- python - 一个人如何将完美的云秘密与卷曲一起使用?
- django - Django 中的安全文件上传 - CSV/Excel 文件
- php - 在 Laravel 7 中存储和更新图像的最佳方式是什么?更新图像时在laravel中调用null的成员函数move()?
- dependency-injection - “静态域助手类”是环境上下文反模式吗?
- ckeditor - 如何阻止 Ckeditor 4 从删除类
?
- javascript - 无法通过 id Discord.js 获取用户的用户名
- mysql - MySQL 5.7 innodb 集群节点因大更新而失败
- c - GCC 死码消除
- vba - 在循环中更改变量的名称以避免 if