Pandas之九时序数据

简介: 有时要处理不同时间的数据,比如对其按日、月、年进行分析。Pandas提供了便捷的方法做这类分析,常用的方法有重新采样、时区设置、周期转换等。

有时要处理不同时间的数据,比如对其按日、月、年进行分析。Pandas提供了便捷的方法做这类分析,常用的方法有重新采样、时区设置、周期转换等。

  • 重新采样:使用resample方法对原始数据以某个新的频率进行采样,再进行聚合运算。
  • 时区设置:默认生成的时间不带时区(naive),可应对其进行时区设置(tz_localize)与转换(tz_convert)。
  • 周期转换:可以将某个时点的数据,用to_period方法转化为其所在的周期,以进行周期性分析。

先生成相关数据,以在下文在做演示

# 生成100天DatetimeIndex
rng = pd.date_range("1/1/2021", 
                    periods=100,
                    freq="D")
# 生成值为0-500之间的随机数的Series
ts = pd.Series(
np.random.randint(0, 500, len(rng)
), index=rng)
ts

1. 重新采样

可以设置想要的采样规则(一般是某个时间间隔Timedelta或相关的字符串表达式),通过resample方法对数据进行重新采样。采样完成之后,可以对其执行聚合运算,以获利预期的分析结果。分析时既可以使用自带的聚合函数,也可以使用自定义的聚合函数。

1.1 使用自带的函数

对样本数据,每隔10天进行重新采样,并计算算术平均值。以下两个语句执行结果相同

ts.resample("10D").mean()
# label 参数设置index的值,
#     以区间最左边的值作为结果的index
# closed 参数设置left以左闭右开方式运算
ts.resample("10D",
            label="left",
            closed="left").mean()

1.2 使用自定义的函数

与上一步骤做相同运算,区别是使用apply的方法,此方法即可使用自定义的函数。

ts.resample("10D").apply(np.mean)

2. 时区设置

默认生成的时间不带时区,可以使用tz_localize设置其本地时区,然后也可以使用tz_convert对其进行时区转换,以满足国际业务。

2.1 设置时区

将样本数据的时区设置为UTC

ts_utc = ts.tz_localize("UTC")
ts_utc

2.2 时区转换

可以对设置过时区的数据,进行时区转换。将上一步骤的结果数据的时区转为上海。

3. 周期转换

可以将某个时点的数据,用to_period方法转换为某个期间。此方法可以知道其所在月份、星期等。

3.1 转为星期周期

# index转为其所在的星期(PeriodIndex)
ps = ts.to_period("W")
ps

3.2 转为时点

# 以周期结束时间作为结果的index
ps.to_timestamp(how="end")

目录
相关文章
|
4天前
|
Python
|
4天前
|
Python
|
3天前
|
Python
Pandas 常用函数-数据合并
Pandas 常用函数-数据合并
11 1
|
4天前
|
索引 Python
Pandas 常用函数-数据排序
10月更文挑战第28天
6 1
|
4天前
|
Python
Pandas 常用函数-查看数据
Pandas 常用函数-查看数据
8 2
|
4天前
|
SQL JSON 数据库
Pandas 常用函数-读取数据
Pandas 常用函数-读取数据
10 2
|
8天前
|
Python
通过Pandas库处理股票收盘价数据,识别最近一次死叉后未出现金叉的具体位置的方法
在金融分析领域,"死叉"指的是短期移动平均线(如MA5)下穿长期移动平均线(如MA10),而"金叉"则相反。本文介绍了一种利用Python编程语言,通过Pandas库处理股票收盘价数据,识别最近一次死叉后未出现金叉的具体位置的方法。该方法首先计算两种移动平均线,接着确定它们的交叉点,最后检查并输出最近一次死叉及其后是否形成了金叉。此技术广泛应用于股市趋势分析。
22 2
|
3天前
|
Python
Pandas 常用函数-数据选择和过滤
Pandas 常用函数-数据选择和过滤
5 0
|
27天前
|
数据可视化 数据挖掘 数据处理
模型预测笔记(四):pandas_profiling生成数据报告
本文介绍了pandas_profiling库,它是一个Python工具,用于自动生成包含多种统计指标和可视化的详细HTML数据报告,支持大型数据集并允许自定义配置。安装命令为`pip install pandas_profiling`,使用示例代码`pfr = pandas_profiling.ProfileReport(data_train); pfr.to_file("./example.html")`。
38 1
|
2月前
|
索引 Python
使用 pandas 对数据进行移动计算
使用 pandas 对数据进行移动计算
21 0