我正在阅读Pandas文档,"广播"一词被广泛使用,但从未真正定义或解释过.
这是什么意思?
我有一个要转换为百分位数的数组。例如,假设我有一个正态分布的数组:
import numpy as np
import matplotlib.pyplot as plt
arr = np.random.normal(0, 1, 1000)
plt.hist(arr)
Run Code Online (Sandbox Code Playgroud)
对于该数组中的每个值,我想计算该值的百分位数(例如0是上述分布的第50个百分位数,所以0-> 0.5)。由于每个百分位数应具有相等的权重,因此结果应均匀分布。
我发现了,np.percentile但此函数返回给定数组和分位数的值,而我需要的是返回给定数组和值的分位数。
有相对有效的方法吗?
我试图a从DataFrame 计算列中每个值的百分位数x.
有没有更好的方法来编写以下代码?
x["pcta"] = [stats.percentileofscore(x["a"].values, i)
for i in x["a"].values]
Run Code Online (Sandbox Code Playgroud)
我希望看到更好的表现.