如何在 python 中操作多维 numpy 数组
How to manipulate multidimensional numpy array in python
我是 python 数组的新手,请帮助我。
我有一个像这样的多维 numpy 数组:
array([[ 0., 2073., 2352., 1119., 2074., 1344., 4035., 1980., 2213.,
2363., 2655., 2322., 1148., 2046., 2234., 1076., 1647., 2957.,
1968., 2246., 1723.],
[1517., 0., 891., 1537., 1993., 2231., 2574., 689., 1561.,
2157., 1517., 3275., 1566., 757., 774., 2190., 822., 1355.,
2152., 1575., 1064.],
[1597., 1329., 0., 1617., 1106., 1345., 1951., 1551., 1938.,
1270., 629., 2320., 1646., 1619., 862., 2267., 1357., 934.,
1264., 687., 342.]])
我想在每个数组的开头添加 0,最后我想添加数组的 0 中的 22,所以它变成这样:
array([[0., 0., 2073., 2352., 1119., 2074., 1344., 4035., 1980., 2213.,
2363., 2655., 2322., 1148., 2046., 2234., 1076., 1647., 2957.,
1968., 2246., 1723.],
[0.,1517., 0., 891., 1537., 1993., 2231., 2574., 689., 1561.,
2157., 1517., 3275., 1566., 757., 774., 2190., 822., 1355.,
2152., 1575., 1064.],
[0.,1597., 1329., 0., 1617., 1106., 1345., 1951., 1551., 1938.,
1270., 629., 2320., 1646., 1619., 862., 2267., 1357., 934.,
1264., 687., 342.],
[0.,0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0, 0., 0, 0., 0.,
0., 0., 0.]])
请帮我编码一下
如果数组是arr
那么你可以使用:
np.pad(arr, ((0, 1), (1, 0)))
您可以 insert 0
at the beginning of every array and then append 22 个列表 0
。
import numpy as np
data = np.array([[0., 2073., 2352., 1119., 2074., 1344., 4035., 1980., 2213.,
2363., 2655., 2322., 1148., 2046., 2234., 1076., 1647.,
2957.,
1968., 2246., 1723.],
[1517., 0., 891., 1537., 1993., 2231., 2574., 689., 1561.,
2157., 1517., 3275., 1566., 757., 774., 2190., 822., 1355.,
2152., 1575., 1064.],
[1597., 1329., 0., 1617., 1106., 1345., 1951., 1551., 1938.,
1270., 629., 2320., 1646., 1619., 862., 2267., 1357., 934.,
1264., 687., 342.]])
updated = np.insert(data, 0, 0, axis=1)
updated = np.append(updated, [[0] * 22], axis=0)
print(updated)
输出:
[[ 0. 0. 2073. 2352. 1119. 2074. 1344. 4035. 1980. 2213. 2363. 2655.
2322. 1148. 2046. 2234. 1076. 1647. 2957. 1968. 2246. 1723.]
[ 0. 1517. 0. 891. 1537. 1993. 2231. 2574. 689. 1561. 2157. 1517.
3275. 1566. 757. 774. 2190. 822. 1355. 2152. 1575. 1064.]
[ 0. 1597. 1329. 0. 1617. 1106. 1345. 1951. 1551. 1938. 1270. 629.
2320. 1646. 1619. 862. 2267. 1357. 934. 1264. 687. 342.]
[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]
解释:
- 我们已经在
axis
1中插入,在已有的多维数组中添加0
- 我们已将 22 个 0 的列表附加到
axis
0 的末尾。
参考文献:
我是 python 数组的新手,请帮助我。
我有一个像这样的多维 numpy 数组:
array([[ 0., 2073., 2352., 1119., 2074., 1344., 4035., 1980., 2213.,
2363., 2655., 2322., 1148., 2046., 2234., 1076., 1647., 2957.,
1968., 2246., 1723.],
[1517., 0., 891., 1537., 1993., 2231., 2574., 689., 1561.,
2157., 1517., 3275., 1566., 757., 774., 2190., 822., 1355.,
2152., 1575., 1064.],
[1597., 1329., 0., 1617., 1106., 1345., 1951., 1551., 1938.,
1270., 629., 2320., 1646., 1619., 862., 2267., 1357., 934.,
1264., 687., 342.]])
我想在每个数组的开头添加 0,最后我想添加数组的 0 中的 22,所以它变成这样:
array([[0., 0., 2073., 2352., 1119., 2074., 1344., 4035., 1980., 2213.,
2363., 2655., 2322., 1148., 2046., 2234., 1076., 1647., 2957.,
1968., 2246., 1723.],
[0.,1517., 0., 891., 1537., 1993., 2231., 2574., 689., 1561.,
2157., 1517., 3275., 1566., 757., 774., 2190., 822., 1355.,
2152., 1575., 1064.],
[0.,1597., 1329., 0., 1617., 1106., 1345., 1951., 1551., 1938.,
1270., 629., 2320., 1646., 1619., 862., 2267., 1357., 934.,
1264., 687., 342.],
[0.,0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0, 0., 0, 0., 0.,
0., 0., 0.]])
请帮我编码一下
如果数组是arr
那么你可以使用:
np.pad(arr, ((0, 1), (1, 0)))
您可以 insert 0
at the beginning of every array and then append 22 个列表 0
。
import numpy as np
data = np.array([[0., 2073., 2352., 1119., 2074., 1344., 4035., 1980., 2213.,
2363., 2655., 2322., 1148., 2046., 2234., 1076., 1647.,
2957.,
1968., 2246., 1723.],
[1517., 0., 891., 1537., 1993., 2231., 2574., 689., 1561.,
2157., 1517., 3275., 1566., 757., 774., 2190., 822., 1355.,
2152., 1575., 1064.],
[1597., 1329., 0., 1617., 1106., 1345., 1951., 1551., 1938.,
1270., 629., 2320., 1646., 1619., 862., 2267., 1357., 934.,
1264., 687., 342.]])
updated = np.insert(data, 0, 0, axis=1)
updated = np.append(updated, [[0] * 22], axis=0)
print(updated)
输出:
[[ 0. 0. 2073. 2352. 1119. 2074. 1344. 4035. 1980. 2213. 2363. 2655.
2322. 1148. 2046. 2234. 1076. 1647. 2957. 1968. 2246. 1723.]
[ 0. 1517. 0. 891. 1537. 1993. 2231. 2574. 689. 1561. 2157. 1517.
3275. 1566. 757. 774. 2190. 822. 1355. 2152. 1575. 1064.]
[ 0. 1597. 1329. 0. 1617. 1106. 1345. 1951. 1551. 1938. 1270. 629.
2320. 1646. 1619. 862. 2267. 1357. 934. 1264. 687. 342.]
[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]
解释:
- 我们已经在
axis
1中插入,在已有的多维数组中添加0
- 我们已将 22 个 0 的列表附加到
axis
0 的末尾。
参考文献: