ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Pandas 时间处理 获取数组中某月的数据

2021-07-02 15:03:14  阅读:119  来源: 互联网

标签:数组 df 日期 2019 str 类型 某月 True Pandas


查看日期列的数据类型

以下演示使用df表示DataFrame二维数组

df.info() # 查看数组中每列的数据类型和数组基本信息

日期的类型为str时

1、str切片

使用切片有弊端,当日期字符串不连续的时候会造成漏选#不推荐

# 将日期列作为索引列
df.set_index('日期',replace=True)
# 使用切片获取9月数据
df.loc['2019/9/1':'2019/9/30',:]

源数据:

过滤后数据:

2、使用python中str内置的方法

str.startswith(str, beg=0,end=len(string))
返回值:True或False

# 由于str.startswith()返回bool类型值,df[bool列表]可取到为True的行数据
df[[i.startswith('2019/9/') for i in df['日期']]]

3、使用pandas中str内置的方法

Series.str.contains(pat, case=True, flags=0, na=None, regex=True)
参数:
pat:字符串或正则表达式
case:True区分大小写
regex:True默认pat为正则表达式
返回值:bool类型

df[df['日期'].str.contains('/9/')]

4、将日期的str类型转化datetime类型

# 转换类型
df['日期']=pd.to_datetime(df['日期'])
# 设置为索引
df.set_index('日期',inplace=True)
# 使用df.loc[,]进行时间获取
df.loc['2019-9',:]# 注意转化为datetime类型后,过滤的方式从2019/9/变成2019-9

标签:数组,df,日期,2019,str,类型,某月,True,Pandas
来源: https://www.cnblogs.com/Wendy-r/p/14960733.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有