Pandas TI nspire python计算中的不同Q1和Q3值
我使用Numpy/Pandas和TI nspire计算了上四分位(Q3或75%瓷砖)和下四分位(Q1或25%瓷砖)。但我有不同的价值观。为什么会发生这种情况 从(5+8)/2=6.5和(18+21)/2=19.5,Numpy/Q1和Q3是错误的。为什么Numpy/Pandas返回错误的号码Pandas TI nspire python计算中的不同Q1和Q3值,pandas,numpy,ti-nspire,iqr,Pandas,Numpy,Ti Nspire,Iqr,我使用Numpy/Pandas和TI nspire计算了上四分位(Q3或75%瓷砖)和下四分位(Q1或25%瓷砖)。但我有不同的价值观。为什么会发生这种情况 从(5+8)/2=6.5和(18+21)/2=19.5,Numpy/Q1和Q3是错误的。为什么Numpy/Pandas返回错误的号码 import numpy as np data=np.array([2,4,5,8,10,11,12,14,17,18,21,22,25]) q75, q25 = np.percentile(data,
import numpy as np
data=np.array([2,4,5,8,10,11,12,14,17,18,21,22,25])
q75, q25 = np.percentile(data, [75 ,25])
print(q75,q25)
df=pd.DataFrame(data)
df.describe()
Numpy返回18.0和8.0。
熊猫返回18.0和8.0。
但TI nspire返回19.5和6.5
这个和这个帮助我理解了它
所以如果你有[7,15,36,39,40,41],那么7->0%,15->20%,36->40%,39->60%,40->80%,41->100%
插值的默认值为线性。所以它使用i+(j-i)*分数。可以将插值设置为计算(i+j)/2的中点
输出:
所以我发现在熊猫/Numpy中找不到确切的Q1和Q3作为TI-nspire。你正在享受。他们都是对的
与大多数其他描述符不同,Q1和Q3有几种不同的定义。对于具有大量观测值的数据集,不同的定义将给出大致相同的结果。对于小型数据集,您将看到不同之处—正如您所经历的那样
Mathword列出了5(5!)种计算四分位数的不同方法。
请参见可能的帮助
import numpy as np
data=np.array([7,15,36,39,40,41])
linear = np.percentile(data, [25, 50, 75], interpolation='linear')
mid = np.percentile(data, [25, 50, 75], interpolation='midpoint')
low = np.percentile(data, [25, 50, 75], interpolation='lower')
high = np.percentile(data, [25, 50, 75], interpolation='higher')
nearest = np.percentile(data, [25, 50, 75], interpolation='nearest')
print(linear,mid,low,high,nearest)
print(15,37.5,40)