numpy提供了多種python本身不支援的多種集合,有list、ndarray和ufunc。
1.1 構造陣列
import numpy as np
# 一維陣列
arr = np.array([2,0,1,5,8,3], dtype=np.float64)
# 二維陣列
arr = np.array([[1, 2, 3, 4], [4, 5, 6, 7], [7, 8, 9, 10]], dtype=np.float64)
1.2 max函式# 提取陣列最大值
arr.max()
1.3 minarr.min()
1.4 sortarr.sort()
1.5 陣列形狀# 屬性
arr.shape
# 內建函式
type(a)
1.6 切片
切片本質上就是去陣列的子集。
# 全部元素
arr[:]
# 開始至導數第二個元素
arr[:-2]
# 最後的兩個元素
arr[-2:]
# 第乙個元素
arr[:1]
# 二維陣列切片
arr[:][:]
# arr[1][:-2]
1.7 數學函式
numpy封裝了很多數學函式。
1.8 陣列與標量值計算
同型陣列相乘就是對應元素相乘
arr1 = np.array([[1,2,3],[4,5,6]])
arr2 = arr1 * arr1
# 結果
[ [1,4,9] ,
[16,25,36]
]
同型陣列相減對應元素相減
arr1 = np.array([[1,2,3],[4,5,6]])
arr2 = arr1 - arr1
# 結果
[ [0,0,0] ,
[0,0,0]
]
陣列的倒數對應每個元素的倒數
arr1 = np.array([[1,2,3],[4,5,6]])
arr2 = 1 / arr1
# 結果
[ [1,0.5,0.33333] ,
[0.25,0.2,0.166666]
]
1.9 布林索引
# 名稱陣列
names = np.array(['bob','joe','bob','joe'])
names == 'bob'
# 結果
array([ true, false, true, false])
1.10 隨機數組# 隨機數組
arr = np.random.randn(4,4)
# 結果
array([[-0.63024369, -0.46411696, 0.39215462, -1.59666929],
[-0.66560699, -0.39085017, 1.44804687, -0.32239144],
[-0.23065156, -2.05660209, -0.59777198, 0.36496691],
[-2.21541391, 1.61258062, -0.43754217, -0.58834426]])
# 同布林型陣列組合
arr[names=='bob']
array([[-0.63024369, -0.46411696, 0.39215462, -1.59666929],
[-0.23065156, -2.05660209, -0.59777198, 0.36496691]])
1.11 空陣列
空陣列賦值,是對每個元素都進行賦值。
# 空陣列,裡面沒有任何內容
arr = np.empty((5,4))
for i in range(5):
arr[i] = i
# 結果
array([[0., 0., 0., 0.],
[1., 1., 1., 1.],
[2., 2., 2., 2.],
[3., 3., 3., 3.],
[4., 4., 4., 4.]])
1.12 通用函式
np.arange
arr = np.arange(10)
# 結果
array([1,2,3,4,5,6,7,8,9])
np.sqrt
np.sqrt(array([1,4,9]))
# 結果
array([1,2,3])
np.random.randn(8)
arr = np.random.randn(8)
# 結果
array([ 0.67089833, 0.29382861, 0.83511179, -0.44452724, 0.12621945,
-0.7167797 , -0.42452128, -0.63488661])
np.maximum(a,b)
x = np.array([1,2,3])
y = np.array([5,0,5])
np.maximum(x,y
# 結果
array([5, 2, 5])
一元函式
函式解釋
abs絕對值
exp指數
ceil
ceil
floor
floor
cos、sin、cosh、sinh
普通型和雙曲型三角函式
arccos
反余弦arcsin
反正弦二元函式
函式解釋
addmultiply
divide、floor_divide
pandas 是panel data的之意。它是python最強大的資料分析和探索工具,因金融資料分析工具而開發,支援類似sql的資料增刪改查功能,支援時間序列分析,靈活處理缺失資料。pandas有兩種資料型別,series和dataframe。
2.1 series
series是一列資料,相當於**中的一列。
s1 = series([1,2,3,4])
# key是索引列
s1 = series()
# 所有值
s1.values
# 所有索引
s1.index
# 通過索引訪問
s1['b']
2.2 dataframe
資料框是二維**,類似於關係型資料庫中的表。
# 構造資料
data =
# 資料全部列
df1 = dataframe(data)
# 使用指定的列
pds=pd.dataframe(data,columns=['name','price','marks'])
資料框結構如下:
name
marks
price
yahoo
2009
4003
8007
Python擴充套件包之shutil
os模組 提供了對目錄或者檔案的新建 刪除 檢視檔案屬性,還提供了對檔案以及目錄的路徑操作。比如說 絕對路徑,父目錄 但是,os檔案的操作還應該包含 移動 複製 打包 壓縮 解壓 等操作,這些os模組都沒有提供。shutil提供了 移動 複製 打包 壓縮 解壓等功能。1 shutil.copyfil...
Python之擴充套件包安裝
讀者朋友,在比較新的版本 python 2 2.7.9 or python 3 3.4 中,pip或者easy install 擴充套件包命令已經預設安裝 可檢視 你的安裝目錄 python 你的版本號 scripts 不需要額外手動安裝,只需把安裝命令加入到環境變數即可。1 以scikit lea...
Python擴充套件包numpy mkl的手動安裝步驟
命令列視窗cmd進入指定目錄的方法 比如要進入d python36 scripts資料夾,先輸入d 進入d磁碟,然後再輸入cd python36 scripts即可,cd不區分大小寫,也可以用tab鍵快速選擇資料夾 cmd輸入命令 pip installpakage pakage為擴充套件包的名稱 ...