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