python 日期的处理3:提取年月,2020-01-01转换为2020-01

假设数据如下:

tmp是我们的数据框,user_date是日期变量。
tmp =

问题说明:

通常我们在做数据处理时,日期中含有年月日,我们想按月份来看各个指标的表现。
在用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”就是我们要的结果啦!

相关文章:

  1. python 日期的处理2:以当前日期,加减1个月,生成以月份为增减量的日期序列
  2. python 日期的处理1: to_datetime ,字符串格式 “12JAN2020 :21:56:00” 转换成 日期格式 ‘2020-01-12’

来都来了,点个赞再走哇!!谢谢阅读~~

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值