当DataFrame的索引为时间对象时,可以很方便的进行数据的筛选。

时间范围生成

#生成时间范围
pd.date_range('2010-01-01','2010-01-08')
>>>DatetimeIndex(['2010-01-01', '2010-01-02', '2010-01-03', '2010-01-04','2010-01-05', '2010-01-06', '2010-01-07', '2010-01-08'],dtype='datetime64[ns]', freq='D')#指定时间长度生成时间范围
pd.date_range('2010-01-01',periods=10)
>>>DatetimeIndex(['2010-01-01', '2010-01-02', '2010-01-03', '2010-01-04','2010-01-05', '2010-01-06', '2010-01-07', '2010-01-08','2010-01-09', '2010-01-10'],dtype='datetime64[ns]', freq='D')#指定时间长度(10)、间隔(隔一个月)生成时间范围
pd.date_range('2010-01-01',periods=10,freq='M')
>>>DatetimeIndex(['2010-01-31', '2010-02-28', '2010-03-31', '2010-04-30','2010-05-31', '2010-06-30', '2010-07-31', '2010-08-31','2010-09-30', '2010-10-31'],dtype='datetime64[ns]', freq='M')#指定时间长度(10)、间隔(隔1个小时20分钟)生成时间范围
pd.date_range('2010-01-01',periods=10,freq='1h20min')
>>>DatetimeIndex(['2010-01-01 00:00:00', '2010-01-01 01:20:00','2010-01-01 02:40:00', '2010-01-01 04:00:00','2010-01-01 05:20:00', '2010-01-01 06:40:00','2010-01-01 08:00:00', '2010-01-01 09:20:00','2010-01-01 10:40:00', '2010-01-01 12:00:00'],dtype='datetime64[ns]', freq='80T')#按工作日生成时间范围
pd.date_range('2010-01-01',periods=10,freq='B')
>>>DatetimeIndex(['2010-01-01', '2010-01-04', '2010-01-05', '2010-01-06','2010-01-07', '2010-01-08', '2010-01-11', '2010-01-12','2010-01-13', '2010-01-14'],dtype='datetime64[ns]', freq='B')

时间筛选

#创建一个索引为日期1000天,值从0到999的Series
a=pd.Series(np.arange(1000),index=pd.date_range('2010-01-05',periods=1000))
>>> 2010-01-05     02010-01-06     12010-01-07     2...2012-09-29    9982012-09-30    999#筛选1月份的数据
a['2010-01']
>>> 2010-01-05     02010-01-06     12010-01-07     2...2010-01-30    252010-01-31    26#时间切片筛选2010到2011-02-03的数据
a['2010':'2011-02-02']
>>> 2010-01-05      02010-01-06      1...2011-02-01    3922011-02-02    393

筛选数据运算

a=pd.Series(np.arange(1000),index=pd.date_range('2010-01-05',periods=1000))
>>> 2010-01-05     02010-01-06     12010-01-07     2...2012-09-29    9982012-09-30    999#按每周求和,每7天进行相加求和输出
a.resample('W').sum()
>>> 2010-01-10      152010-01-17      632010-01-24     1122010-01-31     161...2012-09-09    68252012-09-16    68742012-09-23    69232012-09-30    6972#按每月求平均值
a.resample('M').mean()
>>> 2010-01-31     13.02010-02-28     40.52010-03-31     70.0...2012-07-31    923.02012-08-31    954.02012-09-30    984.5

读取excel时将字符串列转化为时间类型的列

pd.read_csv('demo.csv',parse_dates = ['col1'],infer_datetime_format=True)

Pandas时间索引的骚操作相关推荐

  1. Pandas知识点-索引和切片操作

    Pandas知识点-索引和切片操作 索引和切片操作是最基本最常用的数据处理操作,Pandas中的索引和切片操作基于Python的语言特性,支持类似于numpy中的操作,也可以使用行标签.列标签以及行标 ...

  2. 【Python基础】pandas的骚操作:一行 pandas 代码搞定 Excel “条件格式”!

    来源:Python数据科学 作者:东哥起飞 本篇是pandas100个骚操作系列的第 7 篇:一行 pandas 代码搞定 Excel "条件格式"! 系列内容,请看????「pa ...

  3. 20 个短小精悍的 pandas 骚操作

    本次为大家整理了一个pandas骚操作操作的大集合,共20个功能,个个短小精悍,一次让你爱个够. 1. ExcelWriter 很多时候dataframe里面有中文,如果直接输出到csv里,中文将显示 ...

  4. pandas 筛选数据的 8 个骚操作

    作者 | 东哥起飞 来源 | Python数据科学 日常用Python做数据分析最常用到的就是查询筛选了,按各种条件.各种维度以及组合挑出我们想要的数据,以方便我们分析挖掘. 总结了日常查询和筛选常用 ...

  5. 99%的人都不知道的pandas骚操作(一)

    作者:xiaoyu 微信公众号:Python数据科学 知乎:python数据分析师 pandas有一种功能非常强大的方法,它就是accessor,可以将它理解为一种属性接口,通过它可以获得额外的方法. ...

  6. 数据分析工具Pandas(2):Pandas的索引操作

    数据分析工具Pandas(1):Pandas的数据结构 数据分析工具Pandas(2):Pandas的索引操作 Pandas的索引操作 索引对象Index 1. Series和DataFrame中的索 ...

  7. pandas使用datetime创建示例dataframe:包含完整的时分秒信息、创建时间索引、使用不同的时间频率、date_range中参数freq的偏移量别名

    pandas使用datetime创建示例dataframe:包含完整的时分秒信息.创建时间索引.使用不同的时间频率.date_range中参数freq的偏移量别名 目录

  8. Java8 日期、时间骚操作

    Java8 日期.时间骚操作 LocalDate和LocalTime LocalDate LocalTime LocalDateTime 日期解析与格式化 时间调整 TemporalAdjuster ...

  9. Python 中让你相见恨晚的 20 个骚操作

    今天和大家分享 20 个 Python 编程中新手必会的"骚操作",使用的频率超高!记得点赞,收藏哦!话不多说,进入正题! 1.列表推导式 使用列表推导式创建一个列表. >& ...

最新文章

  1. 使用Python,OpenCV实现图像之间超快速的颜色转移
  2. docker logs 查看实时日志
  3. mongoose 使用总结
  4. 好插件让你事半功倍!【资源篇】
  5. Android Service学习之本地服务
  6. Linux16.04配置tensorflow(GPU源码编译)并深入了解tensorboard
  7. OPPO Reno 2正式发布:主打4800万变焦四摄 售价2999元
  8. c语言链表桶排序,【排序】图解桶排序
  9. @程序员,沟通这项核心技能你掌握了多少?
  10. cent os7 安装dubbo-admin 管理控制台
  11. jQuery基础教程摘录- Hello world
  12. linux下jdk1.8搭建笔记
  13. 2021年道路运输企业安全生产管理人员考试试卷及道路运输企业安全生产管理人员实操考试视频
  14. 【Freeswitch从入门到精通】一、常用总结
  15. 淘宝抢券python代码,能够对实时抢券和清空购物车。
  16. 基于NB-IoT物联网人体红外防盗报警检测
  17. 纯css实现正方体图片旋转效果
  18. 指针:C语言二级指针与二维数组
  19. 菲尔普斯:200自决赛会很艰苦 满意预赛成绩
  20. 在html中frame标签的作用,HTML中的frame标签常见的6大属性,新手一定要悉知!

热门文章

  1. sql join 示例_SQL CROSS JOIN与示例
  2. 使用PowerShell读取文件数据
  3. Linux下find命令用法详解
  4. [tyvj1957 Poetize5] Vani和Cl2捉迷藏 (最小路径可重点覆盖+二分图最大匹配)
  5. uva 11997(优先队列)
  6. java里的日期时间
  7. web页面实时刷新之browser sync
  8. 关于ORACLE通过file_id与block_id定位数据库对象遇到的问题的一点思考
  9. 1392. Dreaming of Stars
  10. Springboot将mybatis替换为mybatis-plus