R和python語言如何求平均值,中位數和眾數


均值是通過取數值的總和並除以數據序列中的值的數量來計算。

R語言平均值公式:

mean(x, trim = 0, na.rm = FALSE, ...)
#
x - 是輸入向量。trim - 用於從排序的向量的兩端刪除一些觀測值。na.rm - 用於從輸入向量中刪除缺少的值

> x<-c(-22,-13,2,45,56,73,21,44,NA)
> result.mean<-mean(x,rim=0.2,na.rm=TRUE)#rim=0.2就是對x其中的向量排序,然后去掉左邊和右邊的各2個值,na.rm=TRUE就是去掉缺值
> result.mean
[1] 25.75

python語言平均值公式:

mean(a, axis = None) : 同理,計算平均值

In [14]: import pandas as pd

In [15]: import numpy as np

In [16]: a=pd.Series([1,2,3,5])

In [17]: np.mean(a)
Out[17]: 2.75

R語言求中位數:

median(x, na.rm = FALSE)#x - 是輸入向量。na.rm - 用於從輸入向量中刪除缺少的值

> x<-c(-22,-13,2,45,56,73,21,44,NA)
> median.result<-median(x)
> median.result
[1] NA
> median.result<-median(x,na.rm=TRUE)
> median.result
[1] 32.5

PYTHON語言求中位數:

> x<-c(-22,-13,2,45,56,73,21,44,NA)
> median.result<-median(x)
> median.result
[1] NA
> median.result<-median(x,na.rm=TRUE)
> median.result
[1] 32.5

R語言求眾數:

R沒有標准的內置函數來計算眾數。因此,我們將創建一個用戶自定義函數來計算R中的數據集的眾數。該函數將向量作為輸入,並將眾數值作為輸出。

getmode <- function(v) { uniqv <- unique(v) uniqv[which.max(tabulate(match(v, uniqv)))] }
代碼如下:

> getmode <- function(v) {
+ uniqv <- unique(v)
+ uniqv[which.max(tabulate(match(v, uniqv)))]
+ }
> v<-c(1,2,3,4,52,45,22,2,4,2,2,4,5,5)
> result<-getmode(v)
> result
[1] 2

PYTHON求眾數:

In [26]: a=np.array([1,2,3,4,5,22,3,4,5,5,4,4,4,])

In [27]: counts=np.bincount(a)

In [28]: np.argmax(counts)
Out[28]: 4

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM