Python 3.6.2 (v3.6.2:5fd33b5, Jul 8 2017, 04:57:36) [MSC v.1900 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import numpy as np
>>> a=list(range(10,15))
>>> a
[10, 11, 12, 13, 14]
>>> b=np.arange(5)
>>> b
array([0, 1, 2, 3, 4])
>>> type(a)
<class 'list'>
>>> type(b)
<class 'numpy.ndarray'>
>>> a[1]
11
>>> b[1]
1
>>> a*2
[10, 11, 12, 13, 14, 10, 11, 12, 13, 14]
>>> b*2
array([0, 2, 4, 6, 8])
>>> a**2
Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
a**2
TypeError: unsupported operand type(s) for ** or pow(): 'list' and 'int'
>>> b**2 //b的二次方
Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
b**2 //b的二次方
NameError: name 'b的二次方' is not defined
>>> #b的二次方
>>> b**2
array([ 0, 1, 4, 9, 16], dtype=int32)
>>> b**2
array([ 0, 1, 4, 9, 16], dtype=int32)
>>> b.dtype
dtype('int32')
>>> #b元组都是整型
>>> b.shape
(5,)
>>> #多维数组
>>> c=np.array([a,b])
>>> c
array([[10, 11, 12, 13, 14],
[ 0, 1, 2, 3, 4]])
>>> d=[a,b]
>>> d
[[10, 11, 12, 13, 14], array([0, 1, 2, 3, 4])]
>>> c.shape
(2, 5)
>>> c.size
10
>>> e=np.array([c,c*2])
>>> e
array([[[10, 11, 12, 13, 14],
[ 0, 1, 2, 3, 4]],
[[20, 22, 24, 26, 28],
[ 0, 2, 4, 6, 8]]])
>>> e.shape
(2, 2, 5)
>>> e[1]
array([[20, 22, 24, 26, 28],
[ 0, 2, 4, 6, 8]])
>>> e[1,0]
array([20, 22, 24, 26, 28])
>>> e[1,0,3]
26
>>> #numpy数值类型
>>> type(d)
<class 'list'>
>>> type(d[1])
<class 'numpy.ndarray'>
>>> e.dtype
dtype('int32')
>>> e[1].dtype
dtype('int32')
>>> b.np.arange(5,dtype=np.int64)
Traceback (most recent call last):
File "<pyshell#37>", line 1, in <module>
b.np.arange(5,dtype=np.int64)
AttributeError: 'numpy.ndarray' object has no attribute 'np'
>>> b=np.arange(5,dtype=np.float16)
>>> b
array([ 0., 1., 2., 3., 4.], dtype=float16)
>>> b=np.arange(5,dtype=np.int64)
>>> b
array([0, 1, 2, 3, 4], dtype=int64)
>>> #所占字节数
>>> e.dtype.itemsize
4
>>> #字符码
>>> e.dtype.char
'l'
>>> #数组切片
>>> b[2:5]
array([2, 3, 4], dtype=int64)
>>> e[0,0,2:5]
array([12, 13, 14])
>>> e[0,0,0:5:2]
array([10, 12, 14])
>>> #数组反转
>>> e[::-1]
array([[[20, 22, 24, 26, 28],
[ 0, 2, 4, 6, 8]],
[[10, 11, 12, 13, 14],
[ 0, 1, 2, 3, 4]]])
>>> e[::1]
array([[[10, 11, 12, 13, 14],
[ 0, 1, 2, 3, 4]],
[[20, 22, 24, 26, 28],
[ 0, 2, 4, 6, 8]]])
>>> #处理数组形状
>>> m=np.arange(24)
>>> m
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])
>>> m.shape
(24,)
>>> #视图
>>> n=m.reshape(3,8)
>>> #一维转多维
>>> n.shape
(3, 8)
>>> n
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]])
>>> o=m.reshape(3,2,4)
>>> o
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]]])
>>> #直接改变形状
>>> m.shape=(2,3,1,4)
>>> m
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]]]])
>>> #直接改变形状
>>> m.resize(3,8)
>>> m
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]])
>>> e.ravel()
array([10, 11, 12, 13, 14, 0, 1, 2, 3, 4, 20, 22, 24, 26, 28, 0, 2,
4, 6, 8])
>>> n.flatten()
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])
>>> #n.flatten()为重新分配内在
>>> #e.ravel()是多维转一维
>>> #视图
>>> n.reshape()
Traceback (most recent call last):
File "<pyshell#75>", line 1, in <module>
n.reshape()
TypeError: reshape() takes exactly 1 argument (0 given)
>>> n.reshape(24,)
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])
>>> n
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]])
>>> n.shape
(3, 8)
>>> n.shape=(24,)
>>> n
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])
>>> n.resize(24,)
>>> n
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])
>>> n=m.reshape(3,8)
>>> n
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]])
>>> n.resize(24,)
>>> n
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])
>>>