均值:即平均数,数列中各数总和除以个数。可用numpy.mean函数计算
中位数: 数字从小到大排列的数列中位于中间位置的那个数,如果数列个数为奇数位则中位数位于(n+1)/2, 如果为偶数位则为n/2与n/2+1的两个数的平均值,可以用numpy.median函数计算
众数:数列中出现频率最多的数, 可以用scipy的stats.mode函数计算
全距:数列中最大值与最小值的差
四分位数:将从小到大排列的数列平均分为4段,最小的四分位数称为下四分位数,最大的成为上四分位数,中间的称为中位数
可以用箱线图展示以上数据(仍以维他命价格为例,数据下载地址)
左侧为价格的散点图
右侧为箱线图,其中
代码如下:
tbdata = pd.read_csv("tb_vitamin_20200925.csv")
p_median = np.median(tbdata["price"]) # 中位数
p_mean = np.mean(tbdata["price"]) # 均值
p = stats.mode(tbdata["price"])
p_argmax = p[0][0] # 众数, p[1][0]返回众数出现的频率
fig = go.Figure()
fig.add_trace(go.Box(y=tbdata["price"],
boxpoints="all", # 显示所有数据点
jitter=0.3, # 散点的分散程度
pointpos=-1.8, # 散点与box的位置【-2,2】
name="箱线图"))
fig.show()