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

使用Pandas计算分位数时输出多余0的原因及解决方法

Pandas分位数输出多余‘0’的原因及解决方法

问题重现

你编写的计算年龄分位数的代码如下:

age_batch=[15,16,20,21,21,
21,21,21,21,21,
21,21,21,21,21,
21,21,21,22,22,
22,22,22,22,22,
23,23,23,23,23,
24,24,24,26,26,
27,27,28,35,56]

import pandas as pd
data= pd.DataFrame(age_batch)

q1=data.quantile(0.25)
q2=data.quantile(0.5)
q3=data.quantile(0.75)
IQR=(q3-q1)/2
print("first quartile is",q1.to_string())
print("second quartile is ", q2.to_string())
print("third quartile is ", q3.to_string())
print("IQR Age is ", IQR.to_string())

运行后输出出现多余的‘0’:

first quartile is 0    21.0
second quartile is  0    22.0
third quartile is  0    23.25
IQR Age is  0    1.125

原因分析

这个‘0’是列索引:因为你把数据存成了DataFrame(即使只有1列),quantile()方法返回的是Series对象,这个Series的索引对应原DataFrame的默认列名(自动分配的0)。调用to_string()时,会把索引和对应的数值一起打印出来,所以出现了多余的‘0’。


解决方法

有两种简单方式可以移除这个多余的‘0’:

方法1:提取Series中的标量值

直接从返回的Series中取出数值,而不是保留整个Series对象。可以用.iloc[0]或者.values[0]提取:

age_batch=[15,16,20,21,21,
21,21,21,21,21,
21,21,21,21,21,
21,21,21,22,22,
22,22,22,22,22,
23,23,23,23,23,
24,24,24,26,26,
27,27,28,35,56]

import pandas as pd
data= pd.DataFrame(age_batch)

# 提取标量值
q1=data.quantile(0.25).iloc[0]
q2=data.quantile(0.5).iloc[0]
q3=data.quantile(0.75).iloc[0]
IQR=(q3-q1)/2

# 直接打印数值,无需to_string()
print("first quartile is", q1)
print("second quartile is ", q2)
print("third quartile is ", q3)
print("IQR Age is ", IQR)

方法2:改用Series存储数据

如果你的数据只有一列,直接用pd.Series存储,quantile()会直接返回标量值,无需额外处理:

age_batch=[15,16,20,21,21,
21,21,21,21,21,
21,21,21,21,21,
21,21,21,22,22,
22,22,22,22,22,
23,23,23,23,23,
24,24,24,26,26,
27,27,28,35,56]

import pandas as pd
# 用Series存储单列数据
data= pd.Series(age_batch)

q1=data.quantile(0.25)
q2=data.quantile(0.5)
q3=data.quantile(0.75)
IQR=(q3-q1)/2

print("first quartile is", q1)
print("second quartile is ", q2)
print("third quartile is ", q3)
print("IQR Age is ", IQR)

修改后输出

两种方法运行后都会得到干净的输出:

first quartile is 21.0
second quartile is  22.0
third quartile is  23.25
IQR Age is  1.125

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 19:16:09