Pandas中关于文本处理和日期类型的学习记录

本文详细介绍了Pandas库中Series对象的str属性,包括字符串统计、拆分、替换、填充、拼接等操作。同时,讲解了如何将系列转换为日期类型,以及日期的提取和时间差计算。此外,还涵盖了日期类型的年、月、日、小时等字段的提取。文章适合对Pandas有一定了解的数据处理人员阅读。
摘要由CSDN通过智能技术生成

文本处理

str 属性

  • Series中与字符串相关的方法,封装在子模块下
  • series.str.具体的方法
    - 具体可以通过
    - dir(pd.Series.str)查看
  • 常用的方法(以下用到的series值均表示为字符的值)
    - s.str.count(‘a’) 统计a在每一个series值中出现了多少次
    - s.str.split(sep = ‘’) 按照指定的分隔符拆分,指定分隔符不作为一个元素结果返回
    - s.str.partition(sep = ‘’) 按照指定的分隔符第一次出现的位置拆分,指定分隔符单独作为一个元素返回
    - s.str.replace(old,new) 用new替换old,如果有多个old会全部替换成new,可以替换单个字符
    - 和s.replace(old,new)不同 str属性的replace方法可以替换单个字符,但是自带的replace()方法必须要匹配完整的字符串才能替换
    - s.str.repeate(int) 使每个series值重复Int次
    - s.str.startwith(‘a’) 是否以a开头,返回每个series值的布尔值
    - s.str.endwith(‘b’) 是否以b结尾,返回每个series值的布尔值
    - s.str.contains(‘c’) 是否包含c,返回每个series值的布尔值
    - s.str.len() 返回每个series值的长度
    - s.str.find(‘d’) 在s中查找d,找到返回d对应的索引,未找到返回-1,只返回找到的第一个d的索引
    - s.str.zfill(int) 0填充,如果该出的值少于8个字符,则用0填充
    - s.str.cat(sep=’’) 用指定的字符拼接
    - s.str.join(’*’) 用*插入到每个字符中间

日期类型转化

dt属性

  • pd.to_datetime(series) 转化为日期类型
    - series中的日期书写方式可以不一样,系统会自动判断
    - 比如:a2= pd.Series([‘Jul 31, 2019’, ‘2020-01-10’, ‘2020.12.31’,‘2019/11/23’])
    - 使用a2 = pd.to_datatime(a2)也可以转换成功
  • 可以使用astype(‘datetime64’)转换
    - 比如:a2 = a2.astype(‘datetime64’)也可以转换成功
  • a2.dt.year 提取年
  • a2.dt.month 提取月
  • a2.dt.day 提取日
  • a2.dt.hour 提取小时
  • a2.dt.minute 提取分钟
  • a2.dt.second 提取秒
  • a2.dt.to_period(‘Y’)
    - 参数 Y表示年, M 表示月份,Q 表示季度,D 表示按天
  • 时间差timedalte 是datetime中的一个对象,该对象表示两个时间的差值

int类型的时间转换为datetime64[ns]

  • 第一,使用astype()转换为str类型
  • 第二,在使用一次astype()或者pd.to_datetime()转换
str_date = user['日期'].astype('str')
final_date = str_date.astype('datetime64[ns]')
# 或者
final_date = pd.to_datetime(str)

float类型的时间转换为datetime

  • 直接使用pd.to_datetime(pd.series,format = %Y%m%d),此方法同样适用于int类型的时间
pd.to_datetime(user['日期'],format = '%Y%m%d')

-》内容源于老师,自己整理学习用!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值