当前位置:   article > 正文

pandas 之时间排序_pandas按时间排序

pandas按时间排序

                                                                  时间排序

 

在 pandas 中,有一个非常常用的函数 date_range,尤其是在处理时间序列数据时,这个函数的作用就是产生一个 DatetimeIndex,就是时间序列数据的索引。

 

pandas.date_range(start=Noneend=Noneperiods=Nonefreq=Nonetz=Nonenormalize=Falsename=Noneclosed=None**kwargs) → pandas.core.indexes.datetimes.DatetimeIndex

返回一个固定频率的DatetimeIndex。

参数:

    start:str 或 datetime-like,可选,默认值是None,表示日期的起点。

    end:str 或 datetime-like,可选,默认值是None,表示日期的终点。

    periods:int,可选,默认值是None,表示你要从和这个函数产生多少个日期索引值(要生成的周期数);如果是None的话,那么 start 和 end 必须不能为 None。

    freq:str 或 DateOffset,默认 “D”,表示以自然日为单位,这个参数用来指定计时单位,比如 “5H”表示每隔5个小时计算一次。

名称说明 
B业务日频率 
C自定义业务日频率 
D日历天频率 
W每周一次的频率 
M月结束频率 
SM月结频次(15次、月末) 
BM

业务月末频率

 
CBM

自定义业务月底频率

 
MS月开始频率 
SMS开始频率(1号、15号) 
BMS

业务月开始频率

 
CBMS

自定义业务月开始频率

 
Q季度结束频率 
BQ

业务季度结束频率

 
QS

季度开始频

 
BQS

季度开始频率

 
A, Y年底频率 
BA, BY

业务年度结束频率

 
AS, YS

年开始频

 
BAS, BYS

业务年度开始频率

 
BH

营业时间频率

 
H每小时的频率 
T, min

每分钟的频率

 
S每秒频率 
L, ms毫秒 
U, us微秒 
N纳秒 

    tz:str 或 tzinfo,可选,返回本地化的DatetimeIndex的时区名称,例如' Asia/Hong_Kong '。默认情况下,生成的DatetimeIndex是与时区无关的。

normalize:bool,默认 False。如果为 True 的话,那么在产生时间索引值之前会先把 start 和 end 都转化为当日的午夜 0 点。

name:str,默认 None。给返回的时间索引指定一个名字。

closed:{None, ‘left’, ‘right’},可选。默认值为 None,表示 start 和 end 这个区间端点是否包含在区间内,可以有三个值,“left” 表示左闭右开区间,“right” 表示左开右闭区间,None 表示两边都是闭区间。

**kwargs:兼容性,对结果没影响。

  1. import pandas as pd, numpy as np
  2. # 创建时间序列(默认 freq="D")
  3. time_index = pd.date_range(start="2020-03-01", end="2020-03-15")
  4. print(time_index)
  5. # 运行结果:
  6. DatetimeIndex(['2020-03-01', '2020-03-02', '2020-03-03', '2020-03-04',
  7. '2020-03-05', '2020-03-06', '2020-03-07', '2020-03-08',
  8. '2020-03-09', '2020-03-10', '2020-03-11', '2020-03-12',
  9. '2020-03-13', '2020-03-14', '2020-03-15'],
  10. dtype='datetime64[ns]', freq='D')
  11. # 创建 10 个时间序列
  12. time_index02 = pd.date_range(start="2020-03-01", periods=10)
  13. print(time_index02)
  14. # 运行结果:
  15. DatetimeIndex(['2020-03-01', '2020-03-02', '2020-03-03', '2020-03-04',
  16. '2020-03-05', '2020-03-06', '2020-03-07', '2020-03-08',
  17. '2020-03-09', '2020-03-10'],
  18. dtype='datetime64[ns]', freq='D')
  19. # 创建一个时间序列,步长 3 天
  20. time_index03 = pd.date_range(start="2020-03-01", periods=10, freq="3D")
  21. print(time_index03)
  22. # 运行结果:
  23. DatetimeIndex(['2020-03-01', '2020-03-04', '2020-03-07', '2020-03-10',
  24. '2020-03-13', '2020-03-16', '2020-03-19', '2020-03-22',
  25. '2020-03-25', '2020-03-28'],
  26. dtype='datetime64[ns]', freq='3D')
  27. # 创建一个时间序列,以分钟为步长
  28. time_index04 = pd.date_range(start="2020-03-01", periods=10, freq="S")
  29. print(time_index04)
  30. # 运行结果:
  31. DatetimeIndex(['2020-03-01 00:00:00', '2020-03-01 00:00:01',
  32. '2020-03-01 00:00:02', '2020-03-01 00:00:03',
  33. '2020-03-01 00:00:04', '2020-03-01 00:00:05',
  34. '2020-03-01 00:00:06', '2020-03-01 00:00:07',
  35. '2020-03-01 00:00:08', '2020-03-01 00:00:09'],
  36. dtype='datetime64[ns]', freq='S')
  37. data = np.random.randint(3000, 3010, 10)
  38. print(data)
  39. # 运行结果:
  40. [3001 3005 3001 3009 3002 3008 3002 3000 3001 3003]
  41. time_index05 = pd.Series(data, time_index04)
  42. print(time_index05)
  43. # 运行结果:
  44. 2020-03-01 00:00:00 3001
  45. 2020-03-01 00:00:01 3005
  46. 2020-03-01 00:00:02 3001
  47. 2020-03-01 00:00:03 3009
  48. 2020-03-01 00:00:04 3002
  49. 2020-03-01 00:00:05 3008
  50. 2020-03-01 00:00:06 3002
  51. 2020-03-01 00:00:07 3000
  52. 2020-03-01 00:00:08 3001
  53. 2020-03-01 00:00:09 3003
  54. Freq: S, dtype: int32

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/161952
推荐阅读
相关标签
  

闽ICP备14008679号