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

Pytrends生成的Pandas DataFrame值为NoneType,如何转为整数?

解决pytrends返回值为NoneType无法转为整数的问题

嘿,我来帮你搞定这个问题!首先得理清一个关键点:你看到的输出'5'可能是显示层面的表象,而实际数据里对应的位置是None(缺失值),这也是为什么它的类型是NoneType,没法和其他数值做比较。下面是一步步的解决办法:

第一步:先确认数据的真实状态

别急着转类型,先搞清楚DataFrame里到底存的是什么。运行下面的代码查看数据的基本信息和具体值:

# 替换成你的DataFrame变量名
print(your_df.info())
# 替换成你要查看的关键词列名
print(your_df['your_keyword'].head())

这能帮你确认:目标列里是不是确实存在None或者NaN(缺失值),有没有像<1这种pytrends偶尔会返回的非数值字符串。

第二步:处理缺失值和异常值

情况1:存在None/NaN缺失值

你可以选择填充缺失值或者删掉包含缺失值的行:

  • 填充缺失值(比如用0,或者列的均值,根据你的需求选择):
    # 填充整列的缺失值为0
    your_df['your_keyword'] = your_df['your_keyword'].fillna(0)
    
  • 删除含缺失值的行:
    your_df = your_df.dropna(subset=['your_keyword'])
    

情况2:存在<1这类非数值字符串

pytrends有时候会把搜索热度极低的结果返回成<1,这种字符串没法直接转整数,得先替换:

your_df['your_keyword'] = your_df['your_keyword'].replace('<1', 0)

第三步:转换为整数类型

处理完异常值和缺失值后,就可以把列转成整数类型了:

your_df['your_keyword'] = your_df['your_keyword'].astype(int)

验证结果

最后可以检查一下类型是否正确:

# 取某一行的值查看类型
print(type(your_df['your_keyword'].iloc[0]))

正常情况下会输出<class 'numpy.int64'>或者<class 'int'>,这时候就可以和其他整数做比较啦!

内容的提问来源于stack exchange,提问作者Gonzalo Tuñez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:24:13