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天前
|
数据采集 数据可视化 数据挖掘
Pandas数据应用:天气数据分析
本文介绍如何使用 Pandas 进行天气数据分析。Pandas 是一个强大的 Python 数据处理库,适合处理表格型数据。文章涵盖加载天气数据、处理缺失值、转换数据类型、时间序列分析(如滚动平均和重采样)等内容,并解决常见报错如 SettingWithCopyWarning、KeyError 和 TypeError。通过这些方法,帮助用户更好地进行气候趋势预测和决策。
94 71
|
7天前
|
编解码 数据挖掘 开发者
Pandas数据导出:CSV文件
Pandas是Python中强大的数据分析库,提供了灵活的数据结构如DataFrame和Series。通过`to_csv()`函数可轻松将数据保存为CSV文件。本文介绍了基本用法、常见问题(如编码、索引、分隔符等)及解决方案,并涵盖大文件处理和报错解决方法,帮助用户高效导出数据。
123 83
|
3天前
|
存储 数据采集 数据可视化
Pandas数据应用:电子商务数据分析
本文介绍如何使用 Pandas 进行电子商务数据分析,涵盖数据加载、清洗、预处理、分析与可视化。通过 `read_csv` 等函数加载数据,利用 `info()` 和 `describe()` 探索数据结构和统计信息。针对常见问题如缺失值、重复记录、异常值等,提供解决方案,如 `dropna()`、`drop_duplicates()` 和正则表达式处理。结合 Matplotlib 等库实现数据可视化,探讨内存不足和性能瓶颈的应对方法,并总结常见报错及解决策略,帮助提升电商企业的数据分析能力。
96 73
|
14天前
|
存储 数据挖掘 数据处理
Pandas 数据筛选:条件过滤
Pandas 是 Python 最常用的数据分析库之一,提供了强大的数据结构和工具。本文从基础到高级,介绍如何使用 Pandas 进行条件过滤,包括单一条件、多个条件过滤、常见问题及解决方案,以及动态和复杂条件过滤的高级用法。希望本文能帮助你更好地利用 Pandas 处理数据。
130 78
|
11天前
|
数据挖掘 数据处理 数据库
Pandas数据聚合:groupby与agg
Pandas库中的`groupby`和`agg`方法是数据分析中不可或缺的工具,用于数据分组与聚合计算。本文从基础概念、常见问题及解决方案等方面详细介绍这两个方法的使用技巧,涵盖单列聚合、多列聚合及自定义聚合函数等内容,并通过代码案例进行说明,帮助读者高效处理数据。
73 32
|
9天前
|
数据挖掘 数据处理 索引
Pandas数据重命名:列名与索引为标题
Pandas 是强大的数据分析工具,支持灵活的数据结构和操作。本文介绍如何使用 Pandas 对 `DataFrame` 的列名和索引进行重命名,包括直接赋值法、`rename()` 方法及索引修改。通过代码示例展示了具体操作,并讨论了常见问题如名称冲突、数据类型不匹配及 `inplace` 参数的使用。掌握这些技巧可使数据更清晰易懂,便于后续分析。
52 29
|
4天前
|
数据采集 数据可视化 索引
Pandas数据应用:股票数据分析
本文介绍了如何使用Pandas库进行股票数据分析。首先,通过pip安装并导入Pandas库。接着,从本地CSV文件读取股票数据,并解决常见的解析错误。然后,利用head()、info()等函数查看数据基本信息,进行数据清洗,处理缺失值和重复数据。再者,结合Matplotlib和Seaborn进行数据可视化,绘制收盘价折线图。最后,进行时间序列分析,设置日期索引、重采样和计算移动平均线。通过这些步骤,帮助读者掌握Pandas在股票数据分析中的应用。
32 5
|
10天前
|
SQL 数据采集 数据挖掘
Pandas数据合并:concat与merge
Pandas是Python中强大的数据分析库,提供灵活高效的数据结构和工具。本文详细介绍了Pandas中的两种主要合并方法——`concat`和`merge`。`concat`用于沿特定轴连接多个Pandas对象,适用于简单拼接场景;`merge`则类似于SQL的JOIN操作,根据键合并DataFrame,支持多种复杂关联。文章还探讨了常见问题及解决方案,如索引对齐、列名冲突和数据类型不一致等,帮助读者全面掌握这两种方法,提高数据分析效率。
36 8
|
16天前
|
数据挖掘 索引 Python
Pandas数据读取:CSV文件
Pandas 是 Python 中强大的数据分析库,`read_csv` 函数用于从 CSV 文件中读取数据。本文介绍 `read_csv` 的基本用法、常见问题及其解决方案,并通过代码案例详细说明。涵盖导入库、读取文件、指定列名和分隔符、处理文件路径错误、编码问题、大文件读取、数据类型问题、日期时间解析、空值处理、跳过行、指定索引列等。高级用法包括自定义列名映射、处理多行标题和注释行。希望本文能帮助你更高效地使用 Pandas 进行数据读取和处理。
65 13
|
12天前
|
算法 数据挖掘 索引
Pandas数据排序:单列与多列排序详解
本文介绍了Pandas库中单列和多列排序的方法及常见问题的解决方案。单列排序使用`sort_values()`方法,支持升序和降序排列,并解决了忽略大小写、处理缺失值和索引混乱等问题。多列排序同样使用`sort_values()`,可指定不同列的不同排序方向,解决列名错误和性能优化等问题。掌握这些技巧能提高数据分析效率。
48 9