版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
13 篇文章1 订阅
订阅专栏
假设数据如下:
tmp是我们的数据框,user_date是日期变量。

问题说明:

通常我们在做数据处理时,日期中含有年月日,我们想按月份来看各个指标的表现。
在用date格式的属性year和month组合时,会发现,咦,好家伙! “2020-01-01”提取年月给我整成“2020-1”了,虽然对分析没什么影响,但是很丑啊, 特别在绘图时,整整齐齐的7位数不好吗?
那如何将其转换成2020-01呢?

方法一

import pandas as pd tmp['yearMonth'] =tmp.user_date.apply(lambda x: pd.to_datetime(x).strftime('%Y-%m'))

方法二

import time def date_ym(date):	'''	date : 传入日期格式的参数 第一步:先将日期格式转换成字符串 第二步:截取前7位''' date_str = date.strftime('%Y-%m-%d') yearMonth = date_str[0:7] return yearMonth tmp['yearMonth'] = tmp['user_date'].apply(lambda x:date_ym(x)) # 应用

方法三

tmp['yearMonth'] = tmp['user_date'].apply(lambda x:str(x)[:7])

输出结果:

生成的新列“yeaMonth”就是我们要的结果啦!