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

Pandas列相除返回NaN问题:求爱尔兰完全接种疫苗人口占比

问题原因与解决方法

你的问题出在Pandas的索引对齐机制上:两个Series的索引分别是104和124391,Pandas执行元素级运算时会严格按照索引匹配,没有匹配到对应索引的位置就返回NaN——这和数据类型无关,所以转成float64也解决不了问题。

要得到正确的占比数值,有两种简单的处理方式:

方法一:直接提取标量计算(推荐,因为每个Series只有单个值)

直接取出两个Series里的单个数值进行计算,绕过索引对齐逻辑:

# 提取单个值
fully_vaccinated = ireland['people_fully_vaccinated'].iloc[0]
population = ireland_population['population'].iloc[0]

# 计算百分比
vaccination_percentage = (fully_vaccinated / population) * 100
print(f"爱尔兰完全接种疫苗人口占比: {vaccination_percentage:.2f}%")

方法二:统一索引后计算

如果需要保留Series格式,可以重置两个Series的索引使其一致,再进行除法运算:

# 重置索引,drop=True丢弃原索引列
ireland_vacc = ireland['people_fully_vaccinated'].reset_index(drop=True)
ireland_pop = ireland_population['population'].reset_index(drop=True)

# 计算占比
vaccination_percentage = (ireland_vacc / ireland_pop) * 100
print(vaccination_percentage)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 21:12:10