python时间序列分析代码
时间: 2023-10-28 09:59:01 浏览: 138
Python时间序列分析测试数据及代码.zip
5星 · 资源好评率100%
当进行时间序列分析时,Python中有多个库可供使用。其中最常用的包括 NumPy、Pandas、Matplotlib 和 Statsmodels。以下是一些常见的时间序列分析任务和对应的代码示例:
1. 加载数据:
```python
import pandas as pd
# 从CSV文件中加载数据
data = pd.read_csv('data.csv', parse_dates=['date_column'], index_col='date_column')
# 从Excel文件中加载数据
data = pd.read_excel('data.xlsx', parse_dates=['date_column'], index_col='date_column')
# 从数据库中加载数据
import sqlite3
connection = sqlite3.connect('database.db')
query = "SELECT * FROM table"
data = pd.read_sql(query, connection, parse_dates=['date_column'], index_col='date_column')
```
2. 可视化时间序列数据:
```python
import matplotlib.pyplot as plt
# 绘制折线图
plt.plot(data.index, data['column_name'])
plt.title('Time Series Data')
plt.xlabel('Date')
plt.ylabel('Value')
plt.show()
```
3. 平稳性检验:
```python
from statsmodels.tsa.stattools import adfuller
result = adfuller(data['column_name'])
print('ADF Statistic:', result[0])
print('p-value:', result[1])
```
4. 计算移动平均:
```python
data['moving_average'] = data['column_name'].rolling(window=7).mean()
```
5. 分解时间序列:
```python
from statsmodels.tsa.seasonal import seasonal_decompose
decomposition = seasonal_decompose(data['column_name'], model='additive')
trend = decomposition.trend
seasonal = decomposition.seasonal
residual = decomposition.resid
```
6. ARIMA模型拟合:
```python
from statsmodels.tsa.arima.model import ARIMA
model = ARIMA(data['column_name'], order=(p, d, q))
model_fit = model.fit()
```
以上是一些常用的时间序列分析任务的代码示例。根据具体需求,可能还需要使用其他函数和方法。你可以根据自己的数据和任务,调整这些示例代码。
阅读全文