You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pandas autocorrelation_plot检查时间序列随机性时遇类型错误

解决Autocorrelation Plot的TypeError问题

这个错误我之前也碰到过,问题出在你给autocorrelation_plot传了整个DataFrame,但这个函数只接受单变量的数值型时间序列——你的DataFrame里有字符串类型的reqUser列,还有未处理的日期列,函数面对混合类型时无法正确解析,才抛出了coercing to Unicode: need string or buffer, float found的类型错误。

下面是具体的修复步骤:

1. 先把日期列转为datetime类型并设为索引

时间序列分析的前提是要有正确的时间索引,所以先处理DATE列:

import pandas as pd
from pandas.plotting import autocorrelation_plot
import matplotlib.pyplot as plt

# 假设你的DataFrame变量名为df
df['DATE'] = pd.to_datetime(df['DATE'])
df = df.set_index('DATE')

2. 传入单一数值列绘制自相关图

现在只需要把你要分析的sum_event_count列传给函数即可:

autocorrelation_plot(df['sum_event_count'])
plt.show()

3. 如果需要按用户分别分析

你的数据里包含不同的reqUser,如果想单独查看每个用户的事件数自相关性,可以分组后循环绘图:

# 按用户分组
user_groups = df.groupby('reqUser')

# 为每个用户单独绘制自相关图
for user, group in user_groups:
    plt.figure(figsize=(8,4))
    autocorrelation_plot(group['sum_event_count'])
    plt.title(f'Autocorrelation for User: {user}')
    plt.show()

这样处理后,函数就能正确识别数值型的时间序列,不会再出现类型错误啦。

内容的提问来源于stack exchange,提问作者Arij SEDIRI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:01:20