python3-numpy 数组操作--修改数组形状、翻转数组、修改数组维度、连接数组、分割数组、数组元素的添加与删除
1、修改數(shù)組形狀
| reshape | 不改變數(shù)據(jù)的條件下修改形狀 |
| flat | 數(shù)組元素迭代器 |
| flatten | 返回一份數(shù)組拷貝,對拷貝所做的修改不會影響原始數(shù)組 |
| ravel | 返回展開數(shù)組 |
1.1 numpy.reshape
numpy.reshape 函數(shù)可以在不改變數(shù)據(jù)的條件下修改形狀,格式如下: numpy.reshape(arr, newshape, order=‘C’)
- arr:要修改形狀的數(shù)組
- newshape:整數(shù)或者整數(shù)數(shù)組,新的形狀應當兼容原有形狀
- order:‘C’ – 按行,‘F’ – 按列,‘A’ – 原順序,‘k’ – 元素在內(nèi)存中的出現(xiàn)順序。
1.2 numpy.ndarray.flat
numpy.ndarray.flat 是一個數(shù)組元素迭代器,實例如下:
a = np.arange(9).reshape(3, 3) print('原始數(shù)組:') for row in a:print(row)# 對數(shù)組中每個元素都進行處理,可以使用flat屬性,該屬性是一個數(shù)組元素迭代器: print('迭代后的數(shù)組:') for element in a.flat:print(element, end=", ") """ 原始數(shù)組: [0 1 2] [3 4 5] [6 7 8] 迭代后的數(shù)組: 0, 1, 2, 3, 4, 5, 6, 7, 8, """1.3 numpy.ndarray.flatten
numpy.ndarray.flatten 返回一份數(shù)組拷貝,對拷貝所做的修改不會影響原始數(shù)組,格式如下:
ndarray.flatten(order=‘C’)
參數(shù)說明:
order:‘C’ – 按行,‘F’ – 按列,‘A’ – 原順序,‘K’ – 元素在內(nèi)存中的出現(xiàn)順序。
1.4 numpy.ravel
numpy.ravel() 展平的數(shù)組元素,順序通常是"C風格",返回的是數(shù)組視圖,修改會影響原始數(shù)組。
該函數(shù)接收兩個參數(shù):
numpy.ravel(a, order=‘C’)
參數(shù)說明:
order:‘C’ – 按行,‘F’ – 按列,‘A’ – 原順序,‘K’ – 元素在內(nèi)存中的出現(xiàn)順序。
發(fā)現(xiàn)一個問題a.ravel(order=‘F’) 時修改數(shù)據(jù)不會影響原始數(shù)據(jù)
a = np.arange(8).reshape(2, 4)print('原數(shù)組:') print(a) print('\n')print('調(diào)用 ravel 函數(shù)之后:') x = a.ravel(order = 'F') print(x) print('\n') x[1] = 100 print(x) print(a) """ 原數(shù)組: [[0 1 2 3][4 5 6 7]] 調(diào)用 ravel 函數(shù)之后: [0 4 1 5 2 6 3 7] [ 0 100 1 5 2 6 3 7] [[0 1 2 3][4 5 6 7]] """2、翻轉(zhuǎn)數(shù)組
| transpose | 對換數(shù)組的維度 |
| ndarray.T | 對換數(shù)組的維度,和 self.transpose() 相同 |
| rollaxis | 向后滾動指定的軸 |
| swapaxes | 對換數(shù)組的兩個軸 |
2.1 numpy.transpose
numpy.transpose 函數(shù)用于對換數(shù)組的維度,格式如下:
numpy.transpose(arr, axes)
參數(shù)說明:
arr:要操作的數(shù)組
axes:整數(shù)列表,對應維度,通常所有維度都會對換。
2.2 ndarray.T
numpy.ndarray.T 類似 numpy.transpose:
a = np.arange(12).reshape(3, 4)print('原數(shù)組:') print(a) print('\n') print('轉(zhuǎn)置數(shù)組:') print(a.T) """ 原數(shù)組: [[ 0 1 2 3][ 4 5 6 7][ 8 9 10 11]] 轉(zhuǎn)置數(shù)組: [[ 0 4 8][ 1 5 9][ 2 6 10][ 3 7 11]] """2.3 numpy.rollaxis
numpy.rollaxis 函數(shù)向后滾動特定的軸到一個特定位置,格式如下:
numpy.rollaxis(arr, axis, start)
參數(shù)說明:
arr:數(shù)組
axis:要向后滾動的軸,其它軸的相對位置不會改變
start:默認為零,表示完整的滾動。會滾動到特定位置。
https://zhuanlan.zhihu.com/p/162874970
2.4 numpy.swapaxes
numpy.swapaxes 函數(shù)用于交換數(shù)組的兩個軸,格式如下:
numpy.swapaxes(arr, axis1, axis2)
arr:輸入的數(shù)組
axis1:對應第一個軸的整數(shù)
axis2:對應第二個軸的整數(shù)
https://zhuanlan.zhihu.com/p/162874970
3、修改數(shù)組維度
https://www.runoob.com/numpy/numpy-array-manipulation.html
4、 連接數(shù)組
https://www.runoob.com/numpy/numpy-array-manipulation.html
5、 分割數(shù)組
https://www.runoob.com/numpy/numpy-array-manipulation.html
6、 數(shù)組元素的添加與刪除
https://www.runoob.com/numpy/numpy-array-manipulation.html
https://www.runoob.com/numpy/numpy-array-manipulation.html
總結(jié)
以上是生活随笔為你收集整理的python3-numpy 数组操作--修改数组形状、翻转数组、修改数组维度、连接数组、分割数组、数组元素的添加与删除的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小程序开发(11)-之支付封装
- 下一篇: websocket python爬虫_p