Pandas处理时间戳数据常用案例介绍

Pandas 提供了丰富的功能来处理时间戳数据的方法,包括日期解析、滚动窗口计算、时间偏移等。本文将详细介绍pandas处理一些常见的时间数据的案例。

创建一个包含日期字符串的 DataFrame

import pandas as pd
data = {'date': ['2023-01-01''2023-01-02''2023-01-03','2023-02-04''2023-02-05''2023-02-06''2023-03-09''2023-05-08''2023-09-01','2023-12-08'],
        'value': [100150200,100250300400500600,500]}
df = pd.DataFrame(data)
df

将日期字符串解析为 datetime 类型

df['date'] = pd.to_datetime(df['date'])
print(df)

设置日期列为索引

df.set_index('date', inplace=True)
print(df)

按天重采样,计算每日平均值

resampled_df = df.resample('D').mean()
print(resampled_df)

计算滚动平均(窗口大小为3)

rolling_mean = df['value'].rolling(window=3).mean()
print(rolling_mean)

时间偏移,向前偏移一天

shifted_df = df.shift(1)
print(shifted_df)

时间偏移,向后偏移一天

shifted_df = df.shift(-1)
print(shifted_df)

生成时间范围,生成从2023-01-01到2023-01-10的日期范围

date_range = pd.date_range(start='2023-01-01', end='2023-01-10')
print(date_range)

提取年份

df['year'] = df.index.year
df

提取月份

df['month'] = df.index.month
df

提取星期几

df['day_of_week'] = df.index.day_of_week
df

因python索引是从0开始,0表示星期一,1表示星期二,6表示星期天。

日期时间格式化

formatted_dates = df.index.strftime('%Y-%m-%d')
print(formatted_dates)

按月分组,计算每月平均值

grouped_df = df.groupby(df.index.month).mean()
print(grouped_df)

以上是使用 Pandas 处理时间序列数据的一些常见案例。通过这些案例,大家可以更好地理解和应用Pandas在时间数据处理中的强大功能。希望这些案例对大家平时的工作或学习有所帮助。


请使用浏览器的分享功能分享到微信等