使用Pandas进行时间重采样,充分挖掘数据价值( 二 )


根据具体的分析需求,还可以使用其他聚合方法,如计算平均值和中位数,或根据数据集分布情况应用自定义函数,这对问题的解决很有意义 。通过这些方法,可以用符合自己的分析或可视化目标的方式对数据进行总结,从时间数据中提取更多价值 。
3.3、处理缺失数据处理缺失数据是时间序列中的关键点,可确保数据中存在间隙时,可视化和分析仍能保持准确性和信息量 。
例如,对于历史温度数据集,但由于设备故障或数据收集错误,某些日期的温度读数缺失 。你必须处理这些缺失值,以创建有意义的可视化并保持数据的完整性 。
# 带有缺失值的温度数据样本data = https://www.isolves.com/it/cxkf/yy/Python/2023-10-17/{'Date': pd.date_range(start='2023-01-01', periods=365, freq='D'),'Temperature': [25 + np.random.randn() * 5 if np.random.rand() > 0.2 else np.nan for _ in range(365)]}df = pd.DataFrame(data)# 前向填充缺失值(用前一天的温度填充)df['Temperature'].fillna(method='ffill', inplace=True)# 可视化温度数据import matplotlib.pyplot as pltplt.figure(figsize=(12, 6))plt.plot(df['Date'], df['Temperature'], label='Temperature', color='blue')plt.title('Daily Temperature Over Time')plt.xlabel('Date')plt.ylabel('Temperature (癈)')plt.grid(True)plt.show()输出图形如下所示:

使用Pandas进行时间重采样,充分挖掘数据价值

文章插图
图片
这个示例模拟了缺失的温度值(约占数据的20%) , 然后使用前向填充(ffill)方法填充了缺失的部分,即缺失值被前一天的温度替代 。
处理缺失数据可确保可视化效果准确地反映时间序列中的基本趋势和规律 , 防止空缺数据影响整体数据 。根据数据的性质和具体问题,可以采用插值或向后填充等其他策略 。
3.4、可视化趋势和规律在Pandas中进行数据重采样 , 有助于可视化连续或离散时间数据中的趋势和规律,进一步挖掘数据价值,突出显示不同的组成部分 , 包括趋势、季节性和不规则问题(可能是数据中的噪音) 。
例如,对于包含过去几年每日网站流量数据的数据集 , 目标是可视化展示随后几年的整体流量趋势,识别任何季节性规律,并发现流量中不规则的峰值或谷值 。
# 网站每日流量数据样本data = https://www.isolves.com/it/cxkf/yy/Python/2023-10-17/{'Date': pd.date_range(start='2019-01-01', periods=1095, freq='D'),'Visitors': [500 + 10 * ((i % 365) - 180) + 50 * (i % 30) for i in range(1095)]}df = pd.DataFrame(data)# 创建折线图 , 展示趋势plt.figure(figsize=(12, 6))plt.plot(df['Date'], df['Visitors'], label='Daily Visitors', color='blue')plt.title('Website Traffic Over Time')plt.xlabel('Date')plt.ylabel('Visitors')plt.grid(True)# 添加季节性分解图from statsmodels.tsa.seasonal import seasonal_decomposeresult = seasonal_decompose(df['Visitors'], model='additive', freq=365)result.plot()plt.show()输出如下所示:
使用Pandas进行时间重采样,充分挖掘数据价值

文章插图
图片
【使用Pandas进行时间重采样,充分挖掘数据价值】该示例创建了折线图,展示了随时间变化的每日网站流量趋势 。该图描述了数据集中的整体增长和不规则规律 。此外 , 为了将数据分解为不同的组成部分,本文使用了statsmodels库的季节性分解技术,包括趋势、季节性和残差等组成部分 。
通过这种方式 , 可以展示网站流量的趋势、季节性和异常情况,从时间数据挖掘价值,进而将其转化为数据驱动的决策 。
四、总结【下载代码】:https://colab.research.google.com/drive/19oM7NMdzRgQrEDfRsGhMavSvcHx79VDK#scrollTo=nHg3oSjPfS-Y
  1. 重采样是一种强大的方法,可用于转换和汇总时间序列数据,以挖掘数据价值 。
  2. 选择事宜的重采样频率对于平衡粒度和清晰度至关重要 。
  3. 聚合方法(如求和、平均值和自定义函数等)有助于揭示时间数据的不同方面 。
  4. 可视化方法有助于识别趋势、季节性和不规则问题,从而清晰地展示数据中的规律 。




推荐阅读