本系列文章配套代码获取有以下三种途径:
-
可以在以下网站查看,该网站是使用JupyterLite搭建的web端Jupyter环境,因此无需在本地安装运行环境即可使用,首次运行浏览器需要下载一些配置文件(大约20M):
https://returu.github.io/Python_Data_Analysis/lab/index.html
-
也可以通过百度网盘获取,需要在本地配置代码运行环境,环境配置可以查看【Python基础】2.搭建Python开发环境:
链接:https://pan.baidu.com/s/1MYkeYeVAIRqbxezQECHwcA?pwd=mnsj
提取码:mnsj
-
前往GitHub详情页面,单击 code 按钮,选择Download ZIP选项:
https://github.com/returu/Python_Data_Analysis
根据《Python for Data Analysis 3rd Edition》翻译整理
—————————————————–
pandas中的频率由基础频率和倍数组成。
基础频率通常用一个字符串别名来表示,比如 "M "
代表每月,"H "
代表每小时。对于每个基础频率,都有一个对象用于定义日期偏置。例如,每小时的频率可以用 Hour
类来表示。
1>>> from pandas.tseries.offsets import Hour , Minute
2
3>>> hour = Hour()
4>>> hour
5<Hour>
可以通过传递整数来定义偏移量的倍数:
1>>> hour = Hour(5)
2>>> hour
3<5 * Hours>
多个偏置可以通过加法联合:
1>>> Hour(5) + Minute(60)
2<6 * Hours>
在大多数应用中,不需要显式地创建这些对象,而是使用字符串别名,例如“H”
或“5H”
。在基础频率前加一个整数可以生成倍数:
1>>> pd.date_range("2022-12-1" , "2022-12-2 12:12" , freq="5H")
2DatetimeIndex(['2022-12-01 00:00:00', '2022-12-01 05:00:00',
3 '2022-12-01 10:00:00', '2022-12-01 15:00:00',
4 '2022-12-01 20:00:00', '2022-12-02 01:00:00',
5 '2022-12-02 06:00:00', '2022-12-02 11:00:00'],
6 dtype='datetime64[ns]', freq='5H')
类似地,也可以传递频率字符串,例如“1h30min”
将会被有效地解析为同等的表达式:
1>>> pd.date_range("2022-12-1" , "2022-12-1 23:00" , freq="1h30min")
2DatetimeIndex(['2022-12-01 00:00:00', '2022-12-01 01:30:00',
3 '2022-12-01 03:00:00', '2022-12-01 04:30:00',
4 '2022-12-01 06:00:00', '2022-12-01 07:30:00',
5 '2022-12-01 09:00:00', '2022-12-01 10:30:00',
6 '2022-12-01 12:00:00', '2022-12-01 13:30:00',
7 '2022-12-01 15:00:00', '2022-12-01 16:30:00',
8 '2022-12-01 18:00:00', '2022-12-01 19:30:00',
9 '2022-12-01 21:00:00', '2022-12-01 22:30:00'],
10 dtype='datetime64[ns]', freq='90T')
一些频率描述的时间并不是均匀分隔的时间。例如,“M”
(日历月末)和“BM”
(最后一个工作日)取决于一个月中的天数,在后一种情况下,取决于该月是否在周末结束。我们将这些称为锚定偏移量(anchored offsets)。
月中某星期(“week of month”)是一个有用的频率类,以 WOM
开头。
例如,获取每个月的第三个星期五,可以传入"WOM-3FRI"
:
1>>> pd.date_range("2022-1-1" , "2022-12-1" , freq="WOM-3FRI")
2DatetimeIndex(['2022-01-21', '2022-02-18', '2022-03-18', '2022-04-15',
3 '2022-05-20', '2022-06-17', '2022-07-15', '2022-08-19',
4 '2022-09-16', '2022-10-21', '2022-11-18'],
5 dtype='datetime64[ns]', freq='WOM-3FRI')
本篇文章来源于微信公众号: 码农设计师