Python第三方包-你了解numpy吗(numpy进阶)
創(chuàng)建數組等基礎操作見:Python第三方包-你了解numpy嗎(numpy基礎)_周先森愛吃素的博客-CSDN博客
索引和切片
基本切片:可以使用slice對象切片,也可以像python內置類型一樣。
import numpy as np a = np.arange(10) print(a) s = slice(2, 7, 2) print(a[s]) print(a[2:7:2])基本索引:類似list,注意可以使用...表示維度數
a[1,...]如上,表示第二行元素。?
高級索引:用數組或者布爾值來訪問數組的方式。
a = np.array([[1, 2, 3], [4, 5, 6]]) b = a[[0, 1, 2], [0, 1, 0]] # 獲得上面組合的下標:(0,0),(1,1),(2,0) a[a>10]廣播
指的是NumPy 在算術運算期間處理不同形狀的數組的能力。(也就是做出數學上本不能有結果的數值,例如不匹配的行和列)
這里比較復雜,不多贅述,如果是數據分析或者機器學習方面的可以繼續(xù)深入研究。
迭代
利用numpy.nditer()
import numpy as np a = np.arange(0, 60, 5) a = a.reshape(3, 4) print('原始數組是:') print(a) print('\n') print('修改后的數組是:') for x in np.nditer(a):print(x, end=" ")數組操作
數組操作
- 形狀修改
reshape 不改變數據的條件下修改形狀
flat 數組上的一維迭代器
flatten 返回折疊為一維的數組副本
ravel 返回連續(xù)的展開數組
- 翻轉操作
transpose 翻轉數組的維度
ndarray.T 和self.transpose()相同
rollaxis 向后滾動指定的軸
swapaxes 互換數組的兩個軸
- 維度修改
broadcast 產生模仿廣播的對象
broadcast_to 將數組廣播到新形狀
expand_dims 擴展數組的形狀
squeeze 從數組的形狀中刪除單維條目
- 數組連接
concatenate 沿著現存的軸連接數據序列
stack 沿著新軸連接數組序列
hstack 水平堆疊序列中的數組(列方向)
vstack 豎直堆疊序列中的數組(行方向)
- 數組分割
split 將一個數組分割為多個子數組
hsplit 將一個數組水平分割為多個子數組(按列)
vsplit 將一個數組豎直分割為多個子數組(按行)
- 元素增刪
resize 返回指定形狀的新數組
append 將值添加到數組末尾
insert 沿指定軸將值插入到指定下標之前
delete 返回刪掉某個軸的子數組的新數組
unique 尋找數組內的唯一元素
矩陣庫
numpy.matlib
對于矩陣提供了很多方便操作
matplotlib
著名的繪圖庫。配合numpy有很強大的數學分析能力。
import numpy as np from matplotlib import pyplot as pltx = np.arange(1,11) y = 2 ** x - 10 plt.title("demo") plt.xlabel("x ") plt.ylabel("y ") plt.plot(x, y) plt.show()ndarray的IO能力
可以磁盤存儲為npy文件。
總結
以上是生活随笔為你收集整理的Python第三方包-你了解numpy吗(numpy进阶)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python第三方包-你了解numpy吗
- 下一篇: python爬虫-爬取壁纸酷主页内容