当前位置: 首页 > 面试题库 >

您如何在Numpy中找到IQR?

诸嘉澍
2023-03-14
问题内容

是否有内置的Numpy / Scipy函数来查找四分位数范围?我自己可以很容易地做到这一点,但是mean()基本上存在sum/len

def IQR(dist):
    return np.percentile(dist, 75) - np.percentile(dist, 25)

问题答案:

np.percentile 接受多个百分位参数,这样做会稍微好一些:

q75, q25 = np.percentile(x, [75 ,25])
iqr = q75 - q25

要么

iqr = np.subtract(*np.percentile(x, [75, 25]))

而不是两次致电percentile

In [8]: x = np.random.rand(1e6)

In [9]: %timeit q75, q25 = np.percentile(x, [75 ,25]); iqr = q75 - q25
10 loops, best of 3: 24.2 ms per loop

In [10]: %timeit iqr = np.subtract(*np.percentile(x, [75, 25]))
10 loops, best of 3: 24.2 ms per loop

In [11]: %timeit iqr = np.percentile(x, 75) - np.percentile(x, 25)
10 loops, best of 3: 33.7 ms per loop


 类似资料:
  • 问题内容: 如何快速查找,识别和删除此数据帧中所有对称对的最后一个重复项? 对称对的一个示例是“(0,1)”等于“(1,0)”。后者应删除。 该算法必须快速,因此建议使用numpy。不允许转换为python对象。 问题答案: 您可以对值进行排序,然后: 选项2 :如果您有很多双,可能会很慢。在这种情况下,我们可以分配新值并按以下条件过滤:

  • 此问题询问有关在容器中列出卷的问题。 但我想知道的是,在不创建容器的情况下,如何找到配置到映像本身中的卷? 这个想法是,在允许容器从该映像运行之前,我想知道映像对映射到主机文件系统的卷可能做什么。 官方的映像就是一个很好的例子。当您启动此映像的容器时,它会自动在处创建一个卷。有没有办法在启动容器之前弄清楚?

  • 问题内容: 我有一个内存堆管理器,它根据系统上的处理器数量将堆划分为不同的段。只能在与当前正在运行的线程的处理器一起使用的分区上分配内存。至少我相信,这将帮助不同的处理器继续运行,即使两个不同的处理器希望同时分配内存。 我已经找到了适用于Windows 的功能,但这仅适用于Windows Vista和更高版本。有没有在Windows XP上有效的方法? 另外,这可以在POSIX系统上使用pthre

  • 问题内容: 我有以下sql查询,该查询提供了按月,周和日分组的总h_time。相反,我想要月,周和日的h_time中位数。如何在Oracle SQL中做到这一点? 输出: 问题答案: 您的问题可能出在DATE类型携带的时间部分(即使您未明确设置它)。 要摆脱它,您可以使用trunc函数。 代替: 经过: 和: 经过:

  • 问题内容: 假设我有以下形式的numpy数组: 我想找到第一个索引(对于每一列)的索引,其中值非零。 因此,在这种情况下,我希望返回以下内容: 我该怎么办? 问题答案: 首次出现的指标 使用沿轴(零轴这里列)非零的面具拿到第一的指标(真实值) 扩展到涵盖通用轴说明符,并且在沿着该轴找不到元素的非零的情况下,我们将有一个类似的实现- 请注意,由于所有值都会返回,因此如果需要的话,我们将直接使用生成最

  • 问题内容: Log4j的默认初始化通过查找和使用URL进行配置的过程。然后,您如何找出最终使用的URL,而不必自己编写相同的过程?(如果您必须自己编写代码,则可能无法获得与log4j完全相同的代码,并且在将来的发行版中它可能会更改。) 问题答案: 如果您愿意使用AspectJ LTW(加载时编织),则可以看看Ian Roberts提到的静态初始化。在 log4j 1.2.14中, 它看起来像这样: