内容索引
该小结主要介绍了NumPy数组的基本操作。
子目1中,介绍创建和索引数组,数据类型,dtype类,自定义异构数据类型。
子目2中,介绍数组的索引和切片,主要是对[]运算符的操作。
子目3中,介绍如何改变数组的维度,分别介绍了ravel函数、flatten函数、transpose函数、resize函数、reshape函数的用法。
|
1
|
<
span
class
=
"o"
>
%
<
/
span
>
<
span
class
=
"k"
>
pylab
<
/
span
>
inline
|
|
1
|
Populating
the
interactive
namespace
from
numpy
and
matplotlib
|
ndarray是一个多维数组对象,该对象由实际的数据、描述这些数据的元数据组成,大部分数组操作仅仅修改元数据部分,而不改变底层的实际数据。
用arange函数创建数组
|
1
2
3
4
|
<
span
class
=
"n"
>
a
<
/
span
>
<
span
class
=
"o"
>=
<
/
span
>
<
span
class
=
"n"
>
arange
<
/
span
>
<
span
class
=
"p"
>
(
<
/
span
>
<
span
class
=
"mi"
>
5
<
/
span
>
<
span
class
=
"p"
>
)
<
/
span
>
#生成5个元素的数组
<
span
class
=
"n"
>
a
<
/
span
>
<
span
class
=
"o"
>
.
<
/
span
>
<
span
class
=
"n"
>
dtype
<
/
span
>
#显示a的类型
|
|
1
|
dtype
(
'int64'
)
|
|
1
|
<
span
class
=
"n"
>
a
<
/
span
>
|
|
1
|
array
(
[
0
,
1
,
2
,
3
,
4
]
)
|
|
1
2
|
<
span
class
=
"n"
>
a
<
/
span
>
<
span
class
=
"o"
>
.
<
/
span
>
<
span
class
=
"n"
>
shape
<
/
span
>
#获取数组内是几行几列
|
|
1
|
(
5
,
)
|
数组的shape属性返回一个元祖(tuple),元组中的元素即NumPy数组每一个维度的大小。
|
1
2
3
|
<
span
class
=
"n"
>
m
<
/
span
>
<
span
class
=
"o"
>=
<
/
span
>
<
span
class
=
"n"
>
array
<
/
span
>
<
span
class
=
"p"
>
(
[
<
/
span
>
<
span
class
=
"n"
>
arange
<
/
span
>
<
span
class
=
"p"
>
(
<
/
span
>
<
span
class
=
"mi"
>
2
<
/
span
>
<
span
class
=
"p"
>
)
,
<
/
span
>
<
span
class
=
"n"
>
arange
<
/
span
>
<
span
class
=
"p"
>
(
<
/
span
>
<
span
class
=
"mi"
>
2
<
/
span
>
<
span
class
=
"p"
>
)
]
)
<
/
span
>生成一个两行两列的数组
|
|
1
2
3
4
|
<
span
class
=
"k"
>
print
<
/
span
>
<
span
class
=
"n"
>
m
<
/
span
>
<
span
class
=
"k"
>
print
<
/
span
>
<
span
class
=
"n"
>
m
<
/
span
>
<
span
class
=
"o"
>
.
<
/
span
>
<
span
class
=
"n"
>
shape
<
/
span
>
<
span
class
=
"k"
>
print
<
/
span
>
<
span
class
=
"nb"
>
type
<
/
span
>
<
span
class
=
"p"
>
(
<
/
span
>
<
span
class
=
"n"
>
m
<
/
span
>
<
span
class
=
"p"
>
)
<
/
span
>
<
span
class
=
"k"
>
print
<
/
span
>
<
span
class
=
"nb"
>
type
<
/
span
>
<
span
class
=
"p"
>
(
<
/
span
>
<
span
class
=
"n"
>
m
<
/
span
>
<
span
class
=
"o"
>
.
<
/
span
>
<
span
class
=
"n"
>
shape
<
/
span
>
<
span
class
=
"p"
>
)
<
/
span
>
|
|
1
2
3
4
5
|
[
[
0
1
]
[
0
1
]
]
(
2
,
2
)
<
type
'numpy.ndarray'
>
<
type
'tuple'
>
|
选取元素
|
1
2
3
|
<
span
class
=
"n"
>
a
<
/
span
>
<
span
class
=
"o"
>=
<
/
span
>
<
span
class
=
"n"
>
array
<
/
span
>
<
span
class
=
"p"
>
(
[
[
<
/
span
>
<
span
class
=
"mi"
>
1
<
/
span
>
<
span
class
=
"p"
>
,
<
/
span
>
<
span
class
=
"mi"
>
2
<
/
span
>
<
span
class
=
"p"
>
]
,
[
<
/
span
>
<
span
class
=
"mi"
>
3
<
/
span
>
<
span
class
=
"p"
>
,
<
/
span
>
<
span
class
=
"mi"
>
4
<
/
span
>
<
span
class
=
"p"
>
]
]
)
<
/
span
>
<
span
class
=
"k"
>
print
<
/
span
>
<
span
class
=
"n"
>
a
<
/
span
>
<
span
class
=
"p"
>
[
<
/
span
>
<
span
class
=
"mi"
>
0
<
/
span
>
<
span
class
=
"p"
>
,
<
/
span
>
<
span
class
=
"mi"
>
0
<
/
span
>
<
span
class
=
"p"
>
]
<
/
span
>
<
span
class
=
"k"
>
print
<
/
span
>
<
span
class
=
"n"
>
a
<
/
span
>
<
span
class
=
"p"
>
[
<
/
span
>
<
span
class
=
"mi"
>
0
<
/
span
>
<
span
class
=
"p"
>
,
<
/
span
>
<
span
class
=
"mi"
>
1
<
/
span
>
<
span
class
=
"p"
>
]
<
/
span
>
|
|
1
2
|
1
2
|
NumPy数据类型
Numpy除了Python支持的整型、浮点型、复数型之外,还添加了很多其他的数据类型。
Type Remarks Character code bool_ compatible: Python bool '?' bool8 8 bits
Integers:
byte compatible: C char 'b' short compatible: C short 'h' intc compatible: C int 'i' int_ compatible: Python int 'l' longlong compatible: C long long 'q' intp large enough to fit a pointer 'p' int8 8 bits
int16 16 bits
int32 32 bits
int64 64 bits
Unsigned integers:
ubyte compatible: C unsigned char 'B' ushort compatible: C unsigned short 'H' uintc compatible: C unsigned int 'I' uint compatible: Python int 'L' ulonglong compatible: C long long 'Q' uintp large enough to fit a pointer 'P' uint8 8 bits
uint16 16 bits
uint32 32 bits
uint64 64 bits
Floating-point numbers:
half 'e' single compatible: C float 'f' double compatible: C double
float_ compatible: Python float 'd' longfloat compatible: C long float 'g' float16 16 bits
float32 32 bits
float64 64 bits
float96 96 bits, platform?
float128 128 bits, platform?
Complex floating-point numbers:
csingle 'F' complex_ compatible: Python complex 'D' clongfloat 'G' complex64 two 32-bit floats
complex128 two 64-bit floats
complex192 two 96-bit floats, platform?
complex256 two 128-bit floats, platform?
Any Python object:
object_ any Python object 'O'
每一种数据类型均有对应的类型转换函数
|
1
2
3
4
|
<
span
class
=
"k"
>
print
<
/
span
>
<
span
class
=
"n"
>
float64
<
/
span
>
<
span
class
=
"p"
>
(
<
/
span
>
<
span
class
=
"mi"
>
42
<
/
span
>
<
span
class
=
"p"
>
)
<
/
span
>
<
span
class
=
"k"
>
print
<
/
span
>
<
span
class
=
"n"
>
int8
<
/
span
>
<
span
class
=
"p"
>
(
<
/
span
>
<
span
class
=
"mf"
>
42.0
<
/
span
>
<
span
class
=
"p"
>
)
<
/
span
>
<
span
class
=
"k"
>
print
<
/
span
>
<
span
class
=
"nb"
>
bool
<
/
span
>
<
span
class
=
"p"
>
(
<
/
span
>
<
span
class
=
"mi"
>
42
<
/
span
>
<
span
class
=
"p"
>
)
<
/
span
>
<
span
class
=
"k"
>
print
<
/
span
>
<
span
class
=
"nb"
>
float
<
/
span
>
<
span
class
=
"p"
>
(
<
/
span
>
<
span
class
=
"bp"
>
True
<
/
span
>
<
span
class
=
"p"
>
)
<
/
span
>
|
|
1
2
3
4
|
42.0
42
True
1.0
|
|
1
|
<
span
class
=
"n"
>
arange
<
/
span
>
<
span
class
=
"p"
>
(
<
/
span
>
<
span
class
=
"mi"
>
8
<
/
span
>
<
span
class
=
"p"
>
,
<
/
span
>
<
span
class
=
"n"
>
dtype
<
/
span
>
<
span
class
=
"o"
>=
<
/
span
>
<
span
class
=
"n"
>
uint16
<
/
span
>
<
span
class
=
"p"
>
)
<
/
span
>
|
|
1
|
array
(
[
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
]
,
dtype
=
uint16
)
|
复数不能转换成整数和浮点数
Numpy数组中每一个元素均为相同的数据类型,现在给出单个元素所占字节
|
1
|
<
span
class
=
"n"
>
a
<
/
span
>
<
span
class
=
"o"
>
.
<
/
span
>
<
span
class
=
"n"
>
dtype
<
/
span
>
|
|
1
|
dtype
(
'int32'
)
|
|
1
|
<
span
class
=
"n"
>
a
<
/
span
>
<
span
class
=
"o"
>
.
<
/
span
>
<
span
class
=
"n"
>
dtype
<
/
span
>
<
span
class
=
"o"
>
.
<
/
span
>
<
span
class
=
"n"
>
itemsize
<
/
span
>
|
|
1
|
4
|
dtype类的属性
|
1
2
3
4
|
<
span
class
=
"n"
>
t
<
/
span
>
<
span
class
=
"o"
>=
<
/
span
>
<
span
class
=
"n"
>
dtype
<
/
span
>
<
span
class
=
"p"
>
(
<
/
span
>
<
span
class
=
"s1"
>
'float64'
<
/
span
>
<
span
class
=
"p"
>
)
<
/
span
>
<
span
class
=
"k"
>
print
<
/
span
>
<
span
class
=
"n"
>
t
<
/
span
>
<
span
class
=
"o"
>
.
<
/
span
>
<
span
class
=
"n"
>
char
<
/
span
>
<
span
class
=
"k"
>
print
<
/
span
>
<
span
class
=
"n"
>
t
<
/
span
>
<
span
class
=
"o"
>
.
<
/
span
>
<
span
class
=
"n"
>
type
<
/
span
>
<
span
class
=
"k"
>
print
<
/
span
>
<
span
class
=
"n"
>
t
<
/
span
>
<
span
class
=
"o"
>
.
<
/
span
>
<
span
class
=
"n"
>
str
<
/
span
>
|
|
1
2
3
|
d
<
type
'numpy.float64'
>
<
f8
|
str属性可以给出数据类型的字符串表示,该字符串的首个字符表示字节序,然后是字符编码,然后是所占字节数 字节序是指位长为32和64的字(word)存储的顺序,包括大端序(big-endian)和小端序(little-endian)。 大端序是将最高位字节存储在最低的内存地址处,用>表示;与之相反,小端序是将最低位字节存储在最低的内存地址处,用<表示。
创建自定义数据类型
自定义数据类型是一种异构数据类型,可以当做用来记录电子表格或数据库中一行数据的结构。
下面我们创建一种自定义的异构数据类型,该数据类型包括一个用字符串记录的名字、一个用整数记录的数字以及一个用浮点数记录的价格。
|
1
|
<
span
class
=
"n"
>
t
<
/
span
>
<
span
class
=
"o"
>=
<
/
span
>
<
span
class
=
"n"
>
dtype
<
/
span
>
<
span
class
=
"p"
>
(
[
(
<
/
span
>
<
span
class
=
"s1"
>
'name'
<
/
span
>
<
span
class
=
"p"
>
,
<
/
span
>
<
span
class
=
"n"
>
str_
<
/
span
>
<
span
class
=
"p"
>
,
<
/
span
>
<
span
class
=
"mi"
>
40
<
/
span
>
<
span
class
=
"p"
>
)
,
<
/
span
>
<
span
class
=
"p"
>
(
<
/
span
>
<
span
class
=
"s1"
>
'numitems'
<
/
span
>
<
span
class
=
"p"
>
,
<
/
span
>
<
span
class
=
"n"
>
int32
<
/
span
>
<
span
class
=
"p"
>
)
,
<
/
span
>
<
span
class
=
"p"
>
(
<
/
span
>
<
span
class
=
"s1"
>
'price'
<
/
span
>
<
span
class
=
"p"
>
,
<
/
span
>
<
span
class
=
"n"
>
float32
<
/
span
>
<
span
class
=
"p"
>
)
]
)
<
/
span
>
|
|
1
|
<
span
class
=
"n"
>
t
<
/
span
>
|
|
1
|
dtype
(
[
(
'name'
,
'S40'
)
,
(
'numitems'
,
'<i4'
)
,
(
'price'
,
'<f4'
)
]
)
|
|
1
|
<
span
class
=
"n"
>
t
<
/
span
>
<
span
class
=
"p"
>
[
<
/
span
>
<
span
class
=
"s1"
>
'name'
<
/
span
>
<
span
class
=
"p"
>
]
<
/
span
>
|
|
1
|
dtype
(
'S40'
)
|
|
1
|
<
span
class
=
"n"
>
itemz
<
/
span
>
<
span
class
=
"o"
>=
<
/
span
>
<
span
class
=
"n"
>
array
<
/
span
>
<
span
class
=
"p"
>
(
[
(
<
/
span
>
<
span
class
=
"s1"
>
'Meaning of life DVD'
<
/
span
>
<
span
class
=
"p"
>
,
<
/
span
>
<
span
class
=
"mi"
>
32
<
/
span
>
<
span
class
=
"p"
>
,
<
/
span
>
<
span
class
=
"mf"
>
3.14
<
/
span
>
<
span
class
=
"p"
>
)
,
<
/
span
>
<
span
class
=
"p"
>
(
<
/
span
>
<
span
class
=
"s1"
>
'Butter'
<
/
span
>
<
span
class
=
"p"
>
,
<
/
span
>
<
span
class
=
"mi"
>
13
<
/
span
>
<
span
class
=
"p"
>
,
<
/
span
>
<
span
class
=
"mf"
>
2.72
<
/
span
>
<
span
class
=
"p"
>
)
]
,
<
/
span
>
<
span
class
=
"n"
>
dtype
<
/
span
>
<
span
class
=
"o"
>=
<
/
span
>
<
span
class
=
"n"
>
t
<
/
span
>
<
span
class
=
"p"
>
)
<
/
span
>
|
|
1
|
<
span
class
=
"n"
>
itemz
<
/
span
>
<
span
class
=
"p"
>
[
<
/
span
>
<
span
class
=
"mi"
>
1
<
/
span
>
<
span
class
=
"p"
>
]
<
/
span
>
|
|
1
|
(
'Butter'
,
13
,
2.7200000286102295
)
|
2. 数组的索引和切片
|
1
2
3
4
5
6
7
8
9
|
<
span
class
=
"n"
>
a
<
/
span
>
<
span
class
=
"o"
>=
<
/
span
>
<
span
class
=
"n"
>
arange
<
/
span
>
<
span
class
=
"p"
>
(
<
/
span
>
<
span
class
=
"mi"
>
9
<
/
span
>
<
span
class
=
"p"
>
)
<
/
span
>
<
span
class
=
"c1"
>
#下标0-7, 以2为步长</span>
<
span
class
=
"k"
>
print
<
/
span
>
<
span
class
=
"n"
>
a
<
/
span
>
<
span
class
=
"p"
>
[
:
<
/
span
>
<
span
class
=
"mi"
>
7
<
/
span
>
<
span
class
=
"p"
>
:
<
/
span
>
<
span
class
=
"mi"
>
2
<
/
span
>
<
span
class
=
"p"
>
]
<
/
span
>
<
span
class
=
"c1"
>
#以负数下标翻转数组</span>
<
span
class
=
"k"
>
print
<
/
span
>
<
span
class
=
"n"
>
a
<
/
span
>
<
span
class
=
"p"
>
[
::
<
/
span
>
<
span
class
=
"o"
>
-
<
/
span
>
<
span
class
=
"mi"
>
1
<
/
span
>
<
span
class
=
"p"
>
]
Out
[
21
]
:
array
(
[
9
,
8
,
7
,
6
,
5
,
4
,
3
,
2
,
1
,
0
]
)
<
/
span
>
<
span
class
=
"k"
>
print
<
/
span
>
<
span
class
=
"n"
>
a
<
/
span
>
<
span
class
=
"p"
>
[
::
<
/
span
>
<
span
class
=
"o"
>
-
<
/
span
>
<
span
class
=
"mi"
>
2
<
/
span
>
<
span
class
=
"p"
>
]
Out
[
22
]
:
array
(
[
9
,
7
,
5
,
3
,
1
]
)
<
/
span
>
|
多维数组的切片和索引
|
1
2
3
|
<
span
class
=
"n"
>
b
<
/
span
>
<
span
class
=
"o"
>=
<
/
span
>
<
span
class
=
"n"
>
arange
<
/
span
>
<
span
class
=
"p"
>
(
<
/
span
>
<
span
class
=
"mi"
>
24
<
/
span
>
<
span
class
=
"p"
>
)
<
/
span
>
<
span
class
=
"o"
>
.
<
/
span
>
<
span
class
=
"n"
>
reshape
<
/
span
>
<
span
class
=
"p"
>
(
<
/
span
>
<
span
class
=
"mi"
>
2
<
/
span
>
<
span
class
=
"p"
>
,
<
/
span
>
<
span
class
=
"mi"
>
3
<
/
span
>
<
span
class
=
"p"
>
,
<
/
span
>
<
span
class
=
"mi"
>
4
<
/
span
>
<
span
class
=
"p"
>
)
<
/
span
>
<
span
class
=
"k"
>
print
<
/
span
>
<
span
class
=
"n"
>
b
<
/
span
>
<
span
class
=
"o"
>
.
<
/
span
>
<
span
class
=
"n"
>
shape
<
/
span
>
<
span
class
=
"k"
>
print
<
/
span
>
<
span
class
=
"n"
>
b
<
/
span
>
|
|
1
2
3
4
5
6
7
8
|
(
2
,
3
,
4
)
[
[
[
0
1
2
3
]
[
4
5
6
7
]
[
8
9
10
11
]
]
[
[
12
13
14
15
]
[
16
17
18
19
]
[
20
21
22
23
]
]
]
|
用三维坐标选定任意一个房间,即楼层、行号、列号
|
1
2
3
4
|
<
span
class
=
"c1"
>
#选取第一层楼所有房间</span>
<
span
class
=
"k"
>
print
<
/
span
>
<
span
class
=
"n"
>
b
<
/
span
>
<
span
class
=
"p"
>
[
<
/
span
>
<
span
class
=
"mi"
>
0
<
/
span
>
<
span
class
=
"p"
>
]
<
/
span
>
<
span
class
=
"k"
>
print
<
/
span
>
<
span
class
=
"k"
>
print
<
/
span
>
<
span
class
=
"n"
>
b
<
/
span
>
<
span
class
=
"p"
>
[
<
/
span
>
<
span
class
=
"mi"
>
0
<
/
span
>
<
span
class
=
"p"
>
,
<
/
span
>
<
span
class
=
"p"
>
:
,
<
/
span
>
<
span
class
=
"p"
>
:
]
<
/
span
>
|
|
1
2
3
4
5
6
7
|
[
[
0
1
2
3
]
[
4
5
6
7
]
[
8
9
10
11
]
]
[
[
0
1
2
3
]
[
4
5
6
7
]
[
8
9
10
11
]
]
|
|
1
2
|
<
span
class
=
"c1"
>
#多个冒号用一个省略号代替</span>
<
span
class
=
"n"
>
b
<
/
span
>
<
span
class
=
"p"
>
[
<
/
span
>
<
span
class
=
"mi"
>
0
<
/
span
>
<
span
class
=
"p"
>
,
<
/
span
>
<
span
class
=
"o"
>
.
.
.
<
/
span
>
<
span
class
=
"p"
>
]
<
/
span
>
|
|
1
2
3
|
array
(
[
[
0
,
1
,
2
,
3
]
,
[
4
,
5
,
6
,
7
]
,
[
8
,
9
,
10
,
11
]
]
)
|
|
1
2
3
|
<
span
class
=
"c1"
>
#间隔选元素</span>
<
span
class
=
"n"
>
b
<
/
span
>
<
span
class
=
"p"
>
[
<
/
span
>
<
span
class
=
"mi"
>
0
<
/
span
>
<
span
class
=
"p"
>
,
<
/
span
>
<
span
class
=
"mi"
>
1
<
/
span
>
<
span
class
=
"p"
>
,
::
<
/
span
>
<
span
class
=
"mi"
>
2
<
/
span
>
<
span
class
=
"p"
>
]
<
/
span
>一层楼
,第一个房间
步长是
2
|
|
1
|
array
(
[
4
,
6
]
)
|
|
1
2
|
<
span
class
=
"c1"
>
#多维数组执行翻转一维数组的命令,将在最前面的维度上翻转元素的顺序</span>
<
span
class
=
"n"
>
b
<
/
span
>
<
span
class
=
"p"
>
[
::
<
/
span
>
<
span
class
=
"o"
>
-
<
/
span
>
<
span
class
=
"mi"
>
1
<
/
span
>
<
span
class
=
"p"
>
]
<
/
span
>
|
|
1
2
3
4
5
6
7
|
array
(
[
[
[
12
,
13
,
14
,
15
]
,
[
16
,
17
,
18
,
19
]
,
[
20
,
21
,
22
,
23
]
]
,
[
[
0
,
1
,
2
,
3
]
,
[
4
,
5
,
6
,
7
]
,
[
8
,
9
,
10
,
11
]
]
]
)
|
|
1
|
<
span
class
=
"n"
>
b
<
/
span
>
<
span
class
=
"p"
>
[
::
<
/
span
>
<
span
class
=
"o"
>
-
<
/
span
>
<
span
class
=
"mi"
>
1
<
/
span
>
<
span
class
=
"p"
>
,
::
<
/
span
>
<
span
class
=
"o"
>
-
<
/
span
>
<
span
class
=
"mi"
>
1
<
/
span
>
<
span
class
=
"p"
>
,
::
<
/
span
>
<
span
class
=
"o"
>
-
<
/
span
>
<
span
class
=
"mi"
>
1
<
/
span
>
<
span
class
=
"p"
>
]
<
/
span
>
|
|
1
2
3
4
5
6
7
|
array
(
[
[
[
23
,
22
,
21
,
20
]
,
[
19
,
18
,
17
,
16
]
,
[
15
,
14
,
13
,
12
]
]
,
[
[
11
,
10
,
9
,
8
]
,
[
7
,
6
,
5
,
4
]
,
[
3
,
2
,
1
,
0
]
]
]
)
|
3. 改变数组的维度
ravel 完成展平操作
|
1
2
|
<
span
class
=
"n"
>
b
<
/
span
>
<
span
class
=
"o"
>
.
<
/
span
>
<
span
class
=
"n"
>
ravel
<
/
span
>
<
span
class
=
"p"
>
(
)
<
/
span
>
#所有的列表转成一个列表
|
|
1
2
|
array
(
[
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
15
,
16
,
17
,
18
,
19
,
20
,
21
,
22
,
23
]
)
|
flatten 也是展平
flatten函数会请求分配内存来保存结果,而ravel函数只是返回数组的一个视图(view)
|
1
|
<
span
class
=
"n"
>
b
<
/
span
>
<
span
class
=
"o"
>
.
<
/
span
>
<
span
class
=
"n"
>
flatten
<
/
span
>
<
span
class
=
"p"
>
(
)
<
/
span
>
|
|
1
2
|
array
(
[
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
15
,
16
,
17
,
18
,
19
,
20
,
21
,
22
,
23
]
)
|
用元组设置维度
|
1
|
<
span
class
=
"n"
>
b
<
/
span
>
<
span
class
=
"o"
>
.
<
/
span
>
<
span
class
=
"n"
>
shape
<
/
span
>
<
span
class
=
"o"
>=
<
/
span
>
<
span
class
=
"p"
>
(
<
/
span
>
<
span
class
=
"mi"
>
6
<
/
span
>
<
span
class
=
"p"
>
,
<
/
span
>
<
span
class
=
"mi"
>
4
<
/
span
>
<
span
class
=
"p"
>
)
<
/
span
>
|
|
1
|
<
span
class
=
"n"
>
b
<
/
span
>
|
|
1
2
3
4
5
6
|
array
(
[
[
0
,
1
,
2
,
3
]
,
[
4
,
5
,
6
,
7
]
,
[
8
,
9
,
10
,
11
]
,
[
12
,
13
,
14
,
15
]
,
[
16
,
17
,
18
,
19
]
,
[
20
,
21
,
22
,
23
]
]
)
|
transpose转置矩阵
|
1
|
<
span
class
=
"n"
>
b
<
/
span
>
<
span
class
=
"o"
>
.
<
/
span
>
<
span
class
=
"n"
>
transpose
<
/
span
>
<
span
class
=
"p"
>
(
)
<
/
span
>
|
|
1
2
3
4
|
array
(
[
[
0
,
4
,
8
,
12
,
16
,
20
]
,
[
1
,
5
,
9
,
13
,
17
,
21
]
,
[
2
,
6
,
10
,
14
,
18
,
22
]
,
[
3
,
7
,
11
,
15
,
19
,
23
]
]
)
|
resize和reshape函数功能一样 但resize会直接改变所操作的数组
|
1
|
<
span
class
=
"n"
>
b
<
/
span
>
<
span
class
=
"o"
>
.
<
/
span
>
<
span
class
=
"n"
>
reshape
<
/
span
>
<
span
class
=
"p"
>
(
<
/
span
>
<
span
class
=
"mi"
>
2
<
/
span
>
<
span
class
=
"p"
>
,
<
/
span
>
<
span
class
=
"mi"
>
3
<
/
span
>
<
span
class
=
"p"
>
,
<
/
span
>
<
span
class
=
"mi"
>
4
<
/
span
>
<
span
class
=
"p"
>
)
<
/
span
>
|
|
1
2
3
4
5
6
7
|
array
(
[
[
[
0
,
1
,
2
,
3
]
,
[
4
,
5
,
6
,
7
]
,
[
8
,
9
,
10
,
11
]
]
,
[
[
12
,
13
,
14
,
15
]
,
[
16
,
17
,
18
,
19
]
,
[
20
,
21
,
22
,
23
]
]
]
)
|
|
1
|
<
span
class
=
"n"
>
b
<
/
span
>
|
|
1
2
3
4
5
6
|
array
(
[
[
0
,
1
,
2
,
3
]
,
[
4
,
5
,
6
,
7
]
,
[
8
,
9
,
10
,
11
]
,
[
12
,
13
,
14
,
15
]
,
[
16
,
17
,
18
,
19
]
,
[
20
,
21
,
22
,
23
]
]
)
|
|
1
|
<
span
class
=
"n"
>
b
<
/
span
>
<
span
class
=
"o"
>
.
<
/
span
>
<
span
class
=
"n"
>
resize
<
/
span
>
<
span
class
=
"p"
>
(
<
/
span
>
<
span
class
=
"mi"
>
2
<
/
span
>
<
span
class
=
"p"
>
,
<
/
span
>
<
span
class
=
"mi"
>
12
<
/
span
>
<
span
class
=
"p"
>
)
<
/
span
>
|
|
1
|
<
span
class
=
"n"
>
b
<
/
span
>
|
|
1
2
|
array
(
[
[
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
]
,
[
12
,
13
,
14
,
15
,
16
,
17
,
18
,
19
,
20
,
21
,
22
,
23
]
]
)
|
1974

被折叠的 条评论
为什么被折叠?



