- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
知道为什么会出现这种行为吗?
基础数据:
In [1]: tmc_sum.head(6)
Out [1]: 1 2 3 8 9 10
tmc
110+05759 7469 7243 7307 7347 7271 7132
110P05759 7730 7432 7482 7559 7464 7305
110+05095 7256 6784 6697 6646 6786 6530
110P05095 0 0 0 0 0 0
110+05096 6810 5226 5625 5035 5064 4734
110P05096 6854 5041 5600 5308 5261 4747
序曲:
根据 documentation of quantile ,这可以正常工作:
In [2]: tmc_sum.quantile(0.05, axis=1)
Out [2]: 1 3347.50
2 1882.40
3 1933.10
8 1755.00
9 1554.15
10 1747.85
dtype: float64
它按列正确计算第 5 个百分位数。 (请注意,有比上面打印的六列更多的列。)
问题:
但这并没有像预期的那样工作:
In [3]: tmc_sum.quantile(0.05, axis=0)
Out [3]: 1 3347.50
2 1882.40
3 1933.10
8 1755.00
9 1554.15
10 1747.85
dtype: float64
再次按列计算。虽然,根据文档,它应该按行计算。所以我倾向于期待这样的事情:
In [4]: tmc_sum.apply(lambda x: np.percentile(x, 0.05), axis=1).head(6)
Out [4]: tmc
110+05759 7132.2775
110P05759 7305.3175
110+05095 6530.2900
110P05095 0.0000
110+05096 4734.7525
110P05096 4747.7350
这种行为是预期的吗?我是否遗漏了什么,或者这是一个错误?
最佳答案
这是 0.14.0 中的错误(axis 关键字被忽略)并在 0.14.1 中修复(参见 https://github.com/pydata/pandas/pull/7312)
如果您无法升级,您可以使用 df.T.quantile(0.5)
获得所需的行为。
顺便说一句,axis=1
的情况不正确。 axis=0
的默认值计算不同列的分位数,axis=1
计算每一行的“沿列”。小例子,考虑:
In [3]: df
Out[3]:
a b c
0 0 1 2
1 3 4 5
axis=0
的默认值:
In [4]: df.quantile(0.5, axis=0)
Out[4]:
a 1.5
b 2.5
c 3.5
dtype: float64
axis=1
:
In [5]: df.quantile(0.5, axis=1)
Out[5]:
0 1
1 4
dtype: float64
关于python - Pandas :DataFrame.quantile 轴关键字不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25586500/
所以,假设我们有一个这样的数组:4,6,9,10,2,25,12,6,9然后我尝试使用 numpy.quantile 和 statistics.quantile 计算分位数 import numpy
数据 data = [ {"content": "1", "title": "app sotre", "info": "", "time": 1578877014}, {"conten
在这篇文章中: How does pandas calculate quartiles? 这是@perl 对 quantile() 函数的工作给出的解释: df = pd.DataFrame([5,7
我正在寻找一种基于 quantile() 函数输出创建多列的方法。我实际上想要包含女性和男性值(value)的每一行的分位数。 第 1 行示例:我想要 quantile(c(4.6, 5.8))哪个给
我想使用 Hmisc::wtd.quantile 为具有许多重复日期的数据框创建一个新的 df。我按日期分组,使用 summarize()按日期聚合,并尝试使用 wtd.quantile()在每个日期
两天前的一个问题。 当您拥有大量数据时,PANDAS 可以让您在生成统计数据的同时就地过滤内容,因此您不必为所有内容创建新的数据框。现在,我怀疑这样做有细微差别,因为以两种不同的方式做事 - 一种是“
在某些设置下,np.quantile 在确定正确的分位数时会出错。这是错误吗? x = np.array([374, 358, 341, 355, 342, 334, 353, 346, 355, 3
在处理问题时,我注意到一些有趣的事情。我不知道到底发生了什么,但发生了一些我没想到会发生的事情。我可能犯了一个错误,但让我从一个例子开始: x quantile( x, 0.1 ) ] z qua
所以,我试图从数据框 df 中获取 a 列中的值,它是 b 列的第 90 个百分位。我使用以下代码来获取分位数的值: p = quantile(df$b, c(0.9)) 之后,我想用它来获取该值的行
所以,我试图从数据框 df 中获取 a 列中的值,它是 b 列的第 90 个百分位。我使用以下代码来获取分位数的值: p = quantile(df$b, c(0.9)) 之后,我想用它来获取该值的行
知道为什么会出现这种行为吗? 基础数据: In [1]: tmc_sum.head(6) Out [1]: 1 2 3 8 9 10
根据bigquery查询引用,当前Quantiles不允许通过另一列进行任何分组。我主要感兴趣的是让中位数按特定列分组。我现在看到的唯一解决方法是为每个不同的组成员生成分位数查询,其中组成员是wher
这句话的含义是什么? quantize = d3.scale.quantile().domain([0, 15]).range(d3.range(9)); 我看到域是: 0 - 0 1 - 15 范围
我一整天都对 R 分位数函数感到困惑。 我对分位数的工作原理有一个直观的概念,并且拥有硕士学位。在统计数据中,但是天哪,它的文档让我感到困惑。 来自文档: Q[i](p) = (1 - gamma)
我最近才发现在Julia和MatLab中分位数()的定义不同。我无法将这两个定义统一起来,总是得到不同的结果。。有人知道为什么会发生这种情况吗?知道如何调整定义吗?。我尝试了以下方法:。这导致Q =-
I just recently came accross that there is different defition of quantile() in Julia and Matlab.I
我试图区分 np.quantile() 的场景或 np.percentile()应该使用。 >>> import numpy as np >>> a = np.array([[10, 7, 4], [
我正在运行此代码以在 python 3 中生成分位数,但它会垂直打印输出。是否可以水平打印输出 import numpy as np import pandas as pd r = np.random
我有一个分位数回归模型,其中包含 1 个回归变量和 1 个回归变量。我想假设检验回归量在每个分位数上都相等。我想到的一种方法是在 {0.01,0.02,....,0.99} 上测试所有 tau。但是,
我正在使用 D3 创建日历热图。 这是我当前的代码: rect.bordered { stroke: #E6E6E6; stroke-
我是一名优秀的程序员,十分优秀!