公司做自己的網(wǎng)站2020國內(nèi)十大小說網(wǎng)站排名
?我什么也沒忘,但是有些事只適合收藏。不能說,也不能想,卻又不能忘。? ? ? ?-- 史鐵生 《我與地壇》
NumPy相關(guān)知識(shí)
1. NumPy,全稱是 Numerical Python,它是目前 Python 數(shù)值計(jì)算中最重要的基礎(chǔ)模塊。
2. NumPy 是針對(duì)多維數(shù)組的一個(gè)科學(xué)計(jì)算模塊,這個(gè)模塊封裝了很多數(shù)組類型的常用操作。
3.?NumPy 中最重要的對(duì)象是多維數(shù)組。
創(chuàng)建多維數(shù)組?
1. 將一個(gè)列表作為參數(shù)傳入 numpy 中的?array()?方法即可創(chuàng)建一個(gè)多維數(shù)組。
2. 我們也可以使用 numpy 中的 ones() 方法或者 zeros() 方法。
3. np.ones() 和 np.zeros() 的參數(shù)用于指定生成的多維數(shù)組里有多少個(gè)元素。
4. 默認(rèn)生成的是浮點(diǎn)數(shù),numpy 會(huì)省略小數(shù)點(diǎn)后的 0,因此 1.0 和 0.0 變成了 1. 和 0.。
5. 如果我們想要生成整數(shù)的話,可以傳入?dtype='類型'?來指定類型。
5.?一般我們使用?import numpy as np ,即用 np 來簡寫 numpy。
import numpy as np
list=np.array([1,2,3])
print(list)
print(type(list))
#輸出結(jié)果
#[1 2 3]
#<class 'numpy.ndarray'>one=np.ones(5)
print(one)
print(type(one))
#[1. 1. 1. 1. 1.]
#<class 'numpy.ndarray'>zero=np.zeros(3)
print(zero)
print(type(zero))
#[0. 0. 0.]
#<class 'numpy.ndarray'>one=np.ones(5,dtype='int')
print(one)
print(type(one))
#輸出結(jié)果 [1 1 1 1 1]
?多維數(shù)組的加減乘除
1. 列表間只有加法操作,作用是將兩個(gè)列表的元素合并在一起。
2. 而多維數(shù)組間可以進(jìn)行加減乘除的四則運(yùn)算。
3. 運(yùn)算規(guī)則也很簡單:將兩個(gè)數(shù)組中對(duì)應(yīng)位置的元素一一進(jìn)行運(yùn)算。
import numpy as npdata = np.array([1, 2])
ones = np.ones(2)
print(data + ones)
#最終輸出 [2. 3.]data = np.array([1, 2])
print(data + 1)
# 輸出:[2 3]
多維數(shù)組的索引
1. 多維數(shù)組的索引與字符串、列表的索引規(guī)則相同。
data = np.array([1, 2, 3])
print(data[0])
#輸出 1
?多維數(shù)組的分片
1. 多維數(shù)組的分片與字符串、列表的分片規(guī)則相同。
2.?data[m :?n]?,分片是左閉右開區(qū)間,即包含 m 不包含 n。
3.?冒號(hào)前后的值是可以省略的:省略后冒號(hào)前默認(rèn)為 0,冒號(hào)后默認(rèn)為列表的長度。
4.?對(duì)列表分片后的數(shù)據(jù)進(jìn)行更改不會(huì)影響原數(shù)據(jù),但對(duì)多維數(shù)組分片后的數(shù)據(jù)進(jìn)行更改會(huì)影響到原數(shù)據(jù)。
5.?分片支持傳入第三個(gè)參數(shù)——步長,即分片時(shí)每隔幾個(gè)數(shù)據(jù)取一次值。步長的默認(rèn)值為 1,當(dāng)步長為負(fù)數(shù)時(shí),會(huì)將順序反轉(zhuǎn)。
data = np.array([1, 2, 3])
print(data[0:2]) # 獲取索引為 0 和 1 的元素
# 輸出:[1 2]data = np.array([1, 2, 3])
# 獲取前 2 個(gè)元素
print(data[:2])
# 輸出:[1 2]# 獲取后 2 個(gè)元素
print(data[-2:])
# 輸出:[2 3]# 獲取所有元素
print(data[:])
# 輸出:[1 2 3]lst_data = [1, 2, 3]
lst_data2 = lst_data[:]
lst_data2[0] = 6
print(lst_data)
# 輸出:[1, 2, 3]arr_data = np.array([1, 2, 3])
arr_data2 = arr_data[:]
arr_data2[0] = 6
print(arr_data)
# 輸出:[6 2 3]data = np.array([1, 2, 3, 4, 5, 6])
print(data[::2]) # 省略前兩個(gè)參數(shù)
# 輸出:[1 3 5]data = np.array([1, 2, 3, 4, 5, 6])
print(data[::-1]) # 省略前兩個(gè)參數(shù)
# 輸出:[6 5 4 3 2 1]
簡單的數(shù)據(jù)分析
集中趨勢(shì)
1. 集中趨勢(shì)所反映的是一組數(shù)據(jù)所具有的共同趨勢(shì),它代表了一組數(shù)據(jù)的總體水平。
2. 其常用指標(biāo)有平均數(shù)、中位數(shù)和眾數(shù)。
離中趨勢(shì)
1. 離中趨勢(shì)是指一組數(shù)據(jù)中各數(shù)據(jù)值以不同程度的距離偏離其中心(平均數(shù))的趨勢(shì)。
2. 其常用指標(biāo)有極差、方差和標(biāo)準(zhǔn)差。
3. 極差是一組數(shù)據(jù)的最大值減去最小值得到的,反應(yīng)了數(shù)據(jù)變動(dòng)的最大范圍。
4. 方差和標(biāo)準(zhǔn)差都能反映數(shù)據(jù)的離散程度,也就是數(shù)據(jù)的波動(dòng)程度。方差和標(biāo)準(zhǔn)差的值越小,說明數(shù)據(jù)越穩(wěn)定。?
數(shù)據(jù)分析操作方法?
?1. 在 numpy 上調(diào)用對(duì)應(yīng)函數(shù)并傳入數(shù)據(jù)如:np.std(data)。
import numpy as npplayer1 = np.array([4, 16, 5, 8, 11, 40, 4, 12, 23, 13])
player2 = np.array([9, 8, 12, 11, 9, 10, 13, 10, 11, 13])
player3 = np.array([4, 6, 8, 5, 6, 7, 6, 5, 8, 6])
print("1號(hào)玩家平均數(shù)",np.median(player1))
print("2號(hào)玩家平均數(shù)",np.median(player2))
print("3號(hào)玩家平均數(shù)",np.median(player3))
print("1號(hào)玩家方差",np.std(player1))
print("2號(hào)玩家方差",np.std(player1))
print("3號(hào)玩家方差",np.std(player1))#輸出結(jié)果
#1號(hào)玩家平均數(shù) 11.5
#2號(hào)玩家平均數(shù) 10.5
#3號(hào)玩家平均數(shù) 6.0
#1號(hào)玩家方差 10.44222198576529
#2號(hào)玩家方差 10.44222198576529
#3號(hào)玩家方差 10.44222198576529
致謝
?感謝您花時(shí)間閱讀這篇文章!如果您對(duì)本文有任何疑問、建議或是想要分享您的看法,請(qǐng)不要猶豫,在評(píng)論區(qū)留下您的寶貴意見。每一次互動(dòng)都是我前進(jìn)的動(dòng)力,您的支持是我最大的鼓勵(lì)。期待與您的交流,讓我們共同成長,探索技術(shù)世界的無限可能!