為了更一般化,在計算的過程中,我們考慮p分位。當p=0.25 0.5 0.75 時,就是在計算四分位數。
首先確定p分位數的位置(有兩種方法):
方法1 pos = (n+1)*p
方法2 pos = 1+(n-1)*p
pandas 中使用的是方法2確定的。
計算
df = pd.dataframe(np.array([[
1,1]
,[2,
10],[
3,100],[
4,100]])
,columns=
['a'
,'b'])
print
(df.quantile(.1)
)
結果是:
a 1.3
b 3.7
name:
0.1, dtype: float64
預設使用的是linear 插值
計算a列
pos = 1 + (4 - 1)*0.1 = 1.3
fraction = 0.3
value = 1 + (2 - 1) * 0.3 = 1.3
計算b列
pos = 1.3
value = 1 + (10 - 1) * 0.3 = 3.7
在b中,假如pos等於2.5呢,即在2-3之間,那i對應就是10,j對應就是100,ret = 10 + (100-10) * 0.5 = 55
矩陣方冪快速計算
description 設a是乙個n n的矩陣,很多時候人們需要計算乙個矩陣的n次冪,當n足夠大時,計算量會變得很大,時間會變得很長,程式設計快速計算a n。input matirx a output matrix b a n。演算法描述 設a 是乙個n n的矩陣,輸入n,該演算法可以實現快速計算a...
mysql計算位數 MySQL中位數計算方法
在網上搜到的一種演算法是利用自增長變數進行排序,然後再根據位置序號取。感覺有些複雜了,還是group concat來的省事些 1.按順序聚合,逗號分隔,並計數 group concat number order by number asc 2.根據逗號拆分,判斷奇偶數去擷取中間位置的那個數 具體 如...
mysql 記憶體計算 mysql 記憶體的計算方法
使用tuning primer 分析mysql 看了 後對記憶體的分配有了一些了解,分享一下 實際記憶體使用主要分為幾部分 1 全域性buffer global buffer 包括 innodb buffer pool size innodb additional mem pool size inn...