标签: quartile

seaborn violinplot 中的四分位数线属性

试图弄清楚如何修改 seaborn violinplot 中四分位数的线条属性(颜色、粗细、样式等)。

来自他们网站的示例代码:

import seaborn as sns

sns.set(style="whitegrid")

tips = sns.load_dataset("tips")

ax = sns.violinplot(x="day", y="total_bill", hue="sex",

                    data=tips, palette="Set2", split=True,linestyle=':',

                    scale="count", inner="quartile")
Run Code Online (Sandbox Code Playgroud)

带有四分位数的默认小提琴图

期望的结果是能够单独更改小提琴图的两个部分的颜色,例如像这样提高可读性:

期望输出

我怎样才能做到这一点?

感谢您的任何见解

更新:根据@kynnem 的响应,以下内容可用于分别更改中位数和四分位数线:

import seaborn as sns

sns.set(style="whitegrid")

tips = sns.load_dataset("tips")

ax = sns.violinplot(x="day", y="total_bill", hue="sex",

                    data=tips, palette="Set2", split=True,linestyle=':',

                    scale="count", inner="quartile")
for l in ax.lines:
    l.set_linestyle('--')
    l.set_linewidth(0.6)
    l.set_color('red')
    l.set_alpha(0.8)
for l in ax.lines[1::3]:
    l.set_linestyle('-')
    l.set_linewidth(1.2)
    l.set_color('black')
    l.set_alpha(0.8)
Run Code Online (Sandbox Code Playgroud)

结果:

小提琴修改线

python matplotlib seaborn quartile violin-plot

8
推荐指数
1
解决办法
1025
查看次数

将连续颜色图中的颜色与 matplotlib 中的特定值相关联

我试图找到一种方法将某些数据值与连续颜色图中的特定颜色相关联。

我有一个值范围为 的特定图像[min, max],我希望以下值[min, q1, q2, q3, max](其中q'n'指四分位数)[0, 0.25. 0.5, 0.75. 1.0]与所选颜色图中对应的颜色相关联。结果,颜色放大器的中点将对应于图像中的中值,依此类推......

我一直在环顾四周,但我一直无法找到一种方法来做到这一点。

python matplotlib quartile

5
推荐指数
1
解决办法
1516
查看次数

Google BigQuery APPROX_QUANTILES 并获得真正的四分位数

根据文档

返回一组表达式值的近似边界,其中 number 表示要创建的分位数数。此函数返回一个由 number + 1 个元素组成的数组,其中第一个元素是近似最小值,最后一个元素是近似最大值。

听起来如果我想要真正的四分位数,我需要使用APPROX_QUANTILES(values, 4)which 将返回[minvalue, 1st quartile, 2nd quartile, 3rd quartile, maxvalue]

根据https://en.wikipedia.org/wiki/Quartile,四分位数集包含 3 个数据点 - 其中没有一个是数据的最小值/最大值。

我的假设正确吗?是APPROX_QUANTILES(values, 4)要返回真正的四分位?

statistics percentile quantile google-bigquery quartile

5
推荐指数
1
解决办法
7198
查看次数

在 SQL 中计算百分位数

这应该非常简单,但作为 SQL 的新手,我真的很挣扎。我被推荐对连续(非离散)数据使用 PERCENTILE_CONT。

有问题的数据涉及两列:(1) 患者列表的 ID 和 (2) 每年平均事件数。

使用我在网上找到的一些代码,这就是我要做的

SELECT ID,
percentile_cont (0.25) WITHIN GROUP
(ORDER BY PPPY ASC) OVER(PARTITION BY ID) as percentile_25,
percentile_cont (0.50) WITHIN GROUP
(ORDER BY PPPY ASC) OVER(PARTITION BY ID) as percentile_50,
percentile_cont (0.75) WITHIN GROUP
(ORDER BY PPPY ASC) OVER(PARTITION BY ID) as percentile_75
FROM AE_COUNT;
Run Code Online (Sandbox Code Playgroud)

这似乎只是报告了每列具有相同的 PPPY 值。

知道我哪里出错了吗?

sql oracle percentile quartile

5
推荐指数
1
解决办法
1万
查看次数

将水平分位数线添加到散点图 ggplot2 R

我有下面的数据

eg_data <- data.frame(
period = c(sample( c("1 + 2"), 1000, replace = TRUE)),
max_sales = c(sample( c(1:10), 1000, replace = TRUE, prob = 
c(.05, .10, .15, .25, .25, .10, .05, .02, .02, .01)))
Run Code Online (Sandbox Code Playgroud)

我想绘制scatter( jitter,实际上) 绘图并在沿 y 轴的不同点添加水平线。我希望能够自定义添加行的百分位数,但就目前而言,R 的汇总函数之类的东西可以正常工作。

summary(eg_data$max_sales)
Run Code Online (Sandbox Code Playgroud)

我有下面的抖动图代码。它运行并生成图形,但我不断收到错误消息:

每组仅包含一个观察值。你需要调整群体审美吗?

jitter <-  (
(ggplot(data = eg_data, aes(x=period, y=max_sales, group = 1)) +
geom_jitter(stat = "identity", width = .15, color = "blue", alpha = .4)) +
scale_y_continuous(breaks= seq(0,12, by=1)) +
geom_line(stat = 'summary', fun.y = …
Run Code Online (Sandbox Code Playgroud)

r scatter-plot ggplot2 quartile

4
推荐指数
1
解决办法
1501
查看次数

大熊猫使用哪种方法作为百分位数?

我试图理解 Pandas 中的下/上百分位数计算,但有点困惑。这是它的示例代码和输出。

test = pd.Series([7, 15, 36, 39, 40, 41])
test.describe()
Run Code Online (Sandbox Code Playgroud)

输出:

在此处输入图片说明

我只对 25% 和 75% 的百分位数感兴趣。我想知道大熊猫使用哪种方法来计算它们?

参考https://en.wikipedia.org/wiki/Quartile文章,结果不同如下:

在此处输入图片说明

那么pandas 用什么统计/数学方法来计算百分位数呢?

percentile pandas quartile

3
推荐指数
1
解决办法
3394
查看次数

如何计算分组的四分位数?

假设我有一张桌子

VAL     PERSON
  1          1
  2          1
  3          1
  4          1
  2          2
  4          2
  6          2
  3          3
  6          3
  9          3
  12         3
  15         3
Run Code Online (Sandbox Code Playgroud)

我想计算每个人的四分位数.

我知道我可以很容易地为一个人计算这些:

SELECT 
    VAL,
    NTILE(4) OVER(ORDER BY VAL) AS QUARTILE
WHERE PERSON = 1;
Run Code Online (Sandbox Code Playgroud)

会得到我想要的结果:

VAL    QUARTILE
1      1
2      2
3      3
4      4
Run Code Online (Sandbox Code Playgroud)

问题是,我想为每个人这样做.我知道这样的事情会起作用:

SELECT 
    PERSON,
    VAL,
    NTILE(4) OVER(ORDER BY VAL) AS QUARTILE
WHERE PERSON = 1
UNION
SELECT 
    PERSON,
    VAL,
    NTILE(4) OVER(ORDER BY VAL) AS QUARTILE
WHERE PERSON = 2 …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2008 quartile

2
推荐指数
1
解决办法
550
查看次数

numpy Quantile() 中的线性插值

考虑以下代码:

>>> import numpy as np
>>> l = [21,22,24,24,26,97]
>>> np.quantile(l, 0.25)
22.5
Run Code Online (Sandbox Code Playgroud)

文档

线性:i + (j - i) *fraction,其中fraction是i和j包围的索引的小数部分。

谁能解释一下是什么i,在这个例子中j以及fraction我们如何得到22.5

python numpy quartile

2
推荐指数
1
解决办法
1785
查看次数

如何在 matplotlib 箱线图中标记四分位数?

我有一个值列表,我想绘制其分布图。我使用的是箱线图,但最好添加一些从箱线图四分位数到轴的虚线。另外,我只想在 x 刻度上显示四分位数值。这是一个粗略的想法,但最后是值而不是名称。

import numpy as np
import pandas as pd 
import matplotlib.pylab as plt


vel_arr = np.random.rand(1000,1)
fig = plt.figure(1, figsize=(9, 6))
ax = fig.add_subplot(111)

# Create the boxplot
ax.boxplot(vel_arr,vert=False, manage_ticks=True)
ax.set_xlabel('value')
plt.yticks([1], ['category'])
plt.show()
Run Code Online (Sandbox Code Playgroud)

python matplotlib boxplot quartile

2
推荐指数
1
解决办法
6015
查看次数

为什么第三个四分位数小于我数据中的平均值?

我将一个名为gob的数据集加载到R中并尝试了方便的summary功能.值得注意的是,第三个四分位数小于平均值.怎么会这样?它是我的数据大小还是其他类似的东西?

我已经尝试为digits参数传递一个大值(例如10),但这并没有解决问题.

> summary(gob, digits=10)

   customer_id         100101.D            100199.D            100201.D        
 Min.   :   1083   Min.   :0.0000000   Min.   :0.0000000   Min.   :0.0000000  
 1st Qu.: 965928   1st Qu.:0.0000000   1st Qu.:0.0000000   1st Qu.:0.0000000  
 Median :2448738   Median :0.0000000   Median :0.0000000   Median :0.0000000  
 Mean   :2660101   Mean   :0.0010027   Mean   :0.0013348   Mean   :0.0000878  
 3rd Qu.:4133368   3rd Qu.:0.0000000   3rd Qu.:0.0000000   3rd Qu.:0.0000000  
 Max.   :6538193   Max.   :1.0000000   Max.   :1.0000000   Max.   :0.7520278  
Run Code Online (Sandbox Code Playgroud)

请注意,对于gob $ 100201.D,平均值为0.0000878,但是第3曲.= 0.

r mean quartile data-science

1
推荐指数
2
解决办法
5590
查看次数

如何在单个Teradata查询中输出不同的第25,第50,第75百分位数?

几个小时后,我被困在类似的东西上,并在一个Teradata查询中输出了一个不那么混乱的代码,用于输出25%,50%,75%的百分位数.可以进一步扩展以产生" 5点总结 ".根据您的人口估计值,最小和最大变化静态值.

有人要求优雅的方法.分享我的.

这是代码:

SELECT MAX(PER_MIN) AS PER_MIN,
       MAX(PER_25) AS PER_25,
       MAX(PER_50)  AS PER_50,
       MAX(PER_75)  AS PER_75,
       MAX(PER_MAX) AS PER_MAX
FROM (SELECT CASE WHEN ROW_NUMBER() OVER(ORDER BY DURATION_MACRO_CURR ASC) = CAST(COUNT(*) OVER() * 0.01 AS INT) THEN DURATION_MACRO_CURR END AS PER_MIN,
             CASE WHEN ROW_NUMBER() OVER(ORDER BY DURATION_MACRO_CURR ASC) = CAST(COUNT(*) OVER() * 0.25 AS INT) THEN DURATION_MACRO_CURR END AS PER_25,
             CASE WHEN ROW_NUMBER() OVER(ORDER BY DURATION_MACRO_CURR ASC) = CAST(COUNT(*) OVER() * 0.50 AS INT) THEN DURATION_MACRO_CURR END AS PER_50 …
Run Code Online (Sandbox Code Playgroud)

sql ranking teradata percentile quartile

1
推荐指数
1
解决办法
5437
查看次数

R - cut2与分位数函数

有谁能告诉我R中的分位数功能和HMISC包中的cut2功能之间的区别?

我知道分位数有9种不同的方法来指定四分位数.但是,当我使用函数cut2(mydata,g = 4)时,输出的四分位数不对应于任何分位数函数输出.

任何帮助非常感谢.

提前致谢.

r quantile hmisc quartile

0
推荐指数
1
解决办法
1287
查看次数