python - 在 Pandas 的日期时间值列中混合日期和月份
问题描述
我想在熊猫中格式化日期,有年月日。我的日期是从四月到九月。我没有 1 月、2 月等的值,但有时我的熊猫将日读为月,将月读为日。查看索引 16 或 84。
6 2019-08-26 15:10:00
7 2019-08-25 13:22:00
8 2019-08-24 16:06:00
9 2019-08-23 15:13:00
10 2019-08-22 14:24:00
11 2019-08-21 14:02:00
12 2019-08-16 12:31:00
13 2019-08-15 15:31:00
14 2019-08-14 14:46:00
15 2019-08-13 17:13:00
16 2019-11-08 15:54:00
17 2019-10-08 10:07:00
68 2019-06-06 11:22:00
69 2019-05-06 15:16:00
70 2019-01-06 17:02:00
75 2019-05-21 09:01:00
76 2019-05-19 16:52:00
77 2019-05-15 15:40:00
78 2019-10-05 13:34:00
81 2019-06-05 11:55:00
82 2019-03-05 17:28:00
83 2019-02-05 18:01:00
84 2019-01-05 17:05:00
85 2019-01-05 09:57:00
86 2019-04-30 10:16:00
87 2019-04-29 17:51:00
88 2019-04-27 17:42:00
如何解决这个问题?我想要日期类型值 *(year-month-day),没有时间,这样我就可以按天或按月分组。
我试过这个,但它不起作用:
df['Created'] = pd.to_datetime(df['Created'], format = 'something')
对于按月分组,我试过这个:
df['Created'] = df['Created'].dt.to_period('M')
解决方案
示例数据的解决方案 - 您可以使用两种格式创建可能的日期时间,其中errors='coerce'
缺失值不匹配,然后将第二个Series
( YYYY-DD-MM
) 中的缺失值替换为第一个Series
( YYYY-MM-DD
)Series.combine_first
或Series.combine_first
:
a = pd.to_datetime(df['Created'], format = '%Y-%m-%d %H:%M:%S', errors='coerce')
b = pd.to_datetime(df['Created'], format = '%Y-%d-%m %H:%M:%S', errors='coerce')
df['Created'] = b.combine_first(a).dt.to_period('M')
#alternative
#df['Created'] = b.fillna(a).dt.to_period('M')
print (df)
Created
6 2019-08
7 2019-08
8 2019-08
9 2019-08
10 2019-08
11 2019-08
12 2019-08
13 2019-08
14 2019-08
15 2019-08
16 2019-08
17 2019-08
68 2019-06
69 2019-06
70 2019-06
75 2019-05
76 2019-05
77 2019-05
78 2019-05
81 2019-05
82 2019-05
83 2019-05
84 2019-05
85 2019-05
86 2019-04
87 2019-04
88 2019-04
推荐阅读
- docker - 您如何管理主机 CPU 和 docker 容器?
- node.js - 比特币的 SendTransaction API 创建
- javascript - 表单提交后清除字段(谷歌表单网络应用程序)
- python - 使用 Teradata.UdaExec 将 pandas 数据帧写入 Teradata
- python - 将列表 numpy 数组转换为 CNN-Keras 的普通数组
- python - 无法使用 Scrapy 从网页加载和抓取数据
- python - Python Wordpress_XMLRPC NewComment Auth
- php - 如何在 foreach 循环中更新多个字段记录?
- python - 如何从用户那里获取输入并根据输入调用函数?
- angular - 即使在导入 CalendarModule 后,“p-calendar”也不是已知元素错误