分位數(shù)就是 可以 將 數(shù)據(jù) 等分 若干份的 數(shù)
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信平臺小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了澤庫免費(fèi)建站歡迎大家使用!
一組數(shù)據(jù)
從小到大排序后
運(yùn)行結(jié)果
有些Python小白對numpy中的常見函數(shù)不太了解,今天小編就整理出來分享給大家。
Numpy是Python的一個科學(xué)計算的庫,提供了矩陣運(yùn)算的功能,其一般與Scipy、matplotlib一起使用。其實,list已經(jīng)提供了類似于矩陣的表示形式,不過numpy為我們提供了更多的函數(shù)。
數(shù)組常用函數(shù)
1.where()按條件返回數(shù)組的索引值
2.take(a,index)從數(shù)組a中按照索引index取值
3.linspace(a,b,N)返回一個在(a,b)范圍內(nèi)均勻分布的數(shù)組,元素個數(shù)為N個
4.a.fill()將數(shù)組的所有元素以指定的值填充
5.diff(a)返回數(shù)組a相鄰元素的差值構(gòu)成的數(shù)組
6.sign(a)返回數(shù)組a的每個元素的正負(fù)符號
7.piecewise(a,[condlist],[funclist])數(shù)組a根據(jù)布爾型條件condlist返回對應(yīng)元素結(jié)果
8.a.argmax(),a.argmin()返回a最大、最小元素的索引
改變數(shù)組維度
a.ravel(),a.flatten():將數(shù)組a展平成一維數(shù)組
a.shape=(m,n),a.reshape(m,n):將數(shù)組a轉(zhuǎn)換成m*n維數(shù)組
a.transpose,a.T轉(zhuǎn)置數(shù)組a
數(shù)組組合
1.hstack((a,b)),concatenate((a,b),axis=1)將數(shù)組a,b沿水平方向組合
2.vstack((a,b)),concatenate((a,b),axis=0)將數(shù)組a,b沿豎直方向組合
3.row_stack((a,b))將數(shù)組a,b按行方向組合
4.column_stack((a,b))將數(shù)組a,b按列方向組合
數(shù)組分割
1.split(a,n,axis=0),vsplit(a,n)將數(shù)組a沿垂直方向分割成n個數(shù)組
2.split(a,n,axis=1),hsplit(a,n)將數(shù)組a沿水平方向分割成n個數(shù)組
數(shù)組修剪和壓縮
1.a.clip(m,n)設(shè)置數(shù)組a的范圍為(m,n),數(shù)組中大于n的元素設(shè)定為n,小于m的元素設(shè)定為m
2.a.compress()返回根據(jù)給定條件篩選后的數(shù)組
數(shù)組屬性
1.a.dtype數(shù)組a的數(shù)據(jù)類型
2.a.shape數(shù)組a的維度
3.a.ndim數(shù)組a的維數(shù)
4.a.size數(shù)組a所含元素的總個數(shù)
5.a.itemsize數(shù)組a的元素在內(nèi)存中所占的字節(jié)數(shù)
6.a.nbytes整個數(shù)組a所占的內(nèi)存空間7.a.astype(int)轉(zhuǎn)換a數(shù)組的類型為int型
數(shù)組計算
1.average(a,weights=v)對數(shù)組a以權(quán)重v進(jìn)行加權(quán)平均
2.mean(a),max(a),min(a),middle(a),var(a),std(a)數(shù)組a的均值、最大值、最小值、中位數(shù)、方差、標(biāo)準(zhǔn)差
3.a.prod()數(shù)組a的所有元素的乘積
4.a.cumprod()數(shù)組a的元素的累積乘積
5.cov(a,b),corrcoef(a,b)數(shù)組a和b的協(xié)方差、相關(guān)系數(shù)
6.a.diagonal()查看矩陣a對角線上的元素7.a.trace()計算矩陣a的跡,即對角線元素之和
以上就是numpy中的常見函數(shù)。更多Python學(xué)習(xí)推薦:PyThon學(xué)習(xí)網(wǎng)教學(xué)中心。
使用python找到一列數(shù)的中位數(shù)并輸出的代碼示例如下,只有9行代碼:
import random;
N=9;lst=[
random.randint(0,100)
for i in range(N)];
lst.sort();
l=len(lst);
print("sorted:",lst);
print("median:",
sum(lst[((l-1)//2):(l//2+1)])/2);
def?median(lst):
if?not?lst:
return?
lst=sorted(lst)
if?len(lst)%2==1:
return?lst[len(lst)//2]
else:
return??(lst[len(lst)//2-1]+lst[len(lst//2])/2.0
# coding=gbk
import numpy as np
inputStr = input("請輸入多個整數(shù),以空格分隔:")
# 使用列表推導(dǎo)式將輸入的內(nèi)容以空格分隔,如果有小數(shù),則通過int函數(shù)變?yōu)檎麛?shù)
input_lists = [int(num) for num in inputStr.split(" ")]
# 通過sort方法,并使用參數(shù)reverse=True,來將列表的數(shù)據(jù)以降序排列
input_lists.sort(reverse=True)
# 由于通過",".join()連接的列表不能有整數(shù)元素,所以通過列表推導(dǎo)式將列表每個元素通過str轉(zhuǎn)為字符串后,再聯(lián)接為以逗號分隔的字符串
print(",".join([str(num) for num in input_lists]))
# 使用numpy的median函數(shù)來得到中位數(shù)
print(np.median(input_lists))