Python 3.x 百分位和平均值的计算

Python 3.x 百分位和平均值的计算,python-3.x,pandas,numpy,scipy,Python 3.x,Pandas,Numpy,Scipy,我想找到以下数据的3%,然后平均数据。 下面给出的是数据结构 0南 1楠 2楠 3南 4楠 ... ... 96927南 96928南 96929南 96930南 96931南 在这里,相关数据正好位于13240:61156的数据之间。 下面是我的代码: enter code here import pandas as pd import numpy as np load_var=pd.read_excel(r'path\file name.xlsx') loa

我想找到以下数据的3%,然后平均数据。 下面给出的是数据结构

0南 1楠 2楠 3南 4楠 ... ... 96927南 96928南 96929南 96930南 96931南

在这里,相关数据正好位于13240:61156的数据之间。 下面是我的代码:

enter code here
import pandas as pd
import numpy as np
load_var=pd.read_excel(r'path\file name.xlsx')
load_var
a=pd.DataFrame(load_var['column whose percentile is to be found'])
print(a)
b=np.nanpercentile(a,3)
print(b)
请建议代码中的更改

谢谢。

mean
一起使用:


对不起,coludn不明白。@chinu-什么不明白?1]我不熟悉lambda函数。2]我在excel中尝试了同样的方法,我只得到了一个百分位值,其中我想要的是对所有数据值进行升序,然后选择那些百分位为3的值,然后取其平均值。@chinu-好的,因此,
[7,8,9,4,2,3,np.nan]
的预期输出是什么?它只是一个值1.682511。我想你误解了数据。
df = pd.DataFrame({
         'col':[7,8,9,4,2,3, np.nan],
})

f = lambda x: x.quantile(0.03)
f.__name__ = 'q'
s = df['col'].agg(['mean', f])
print (s)
mean    5.50
q       2.15
Name: col, dtype: float64