Numpy入门笔记第一天

NumPy数组操作详解
# 导入包
import numpy as np
# 创建一维数组
a = np.arange(5)
print "一维numpy数组", a
print "数组的类型", a.dtype
print "数组维度", len(a.shape)
一维numpy数组 [0 1 2 3 4]
数组的类型 int32
数组维度 1
# 创建多维数组
b = np.array([np.arange(2), np.arange(2)])
print "二维numpy数组"
print b
print "数组维度", len(b.shape)
二维numpy数组
[[0 1]
 [0 1]]
数组维度 2
c = np.array([[13, 13], [3434, 5]])
print c
[[  13   13]
 [3434    5]]
# 创建零矩阵
Z = np.zeros((2, 3))
print Z
[[0. 0. 0.]
 [0. 0. 0.]]
# 矩阵元素索引
print c[1, 1] # 第2行第2列元素
5
# 创建特定类型矩阵
d = np.arange(5, dtype=np.uint16)
print d
[0 1 2 3 4]
e = np.arange(7, dtype='f')
print e
[0. 1. 2. 3. 4. 5. 6.]
# 矩阵运算
# 加法
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])
print arr1
print arr2
print arr1 + arr2
[[1 2]
 [3 4]]
[[5 6]
 [7 8]]
[[ 6  8]
 [10 12]]
# 矩阵对应相乘
print arr1 * arr2
[[ 5 12]
 [21 32]]
# 标量运算
print arr1 + 1
print arr1 * 2
[[2 3]
 [4 5]]
[[2 4]
 [6 8]]
# 索引与切片
arr3 = np.array([np.arange(5), np.arange(5), np.arange(5)])
arr4 = np.arange(7)
print arr3
print arr4
[[0 1 2 3 4]
 [0 1 2 3 4]
 [0 1 2 3 4]]
[0 1 2 3 4 5 6]
# 一维数组索引
print arr4[5]
# 一维数组切片
print arr4[3:5]
# 数组翻转
print arr4[::-1]
5
[3 4]
[6 5 4 3 2 1 0]
# 多维数组索引
print "第三行第四列", arr3[2,3]
print "第三行", arr3[2]
第三行第四列 3
第三行 [0 1 2 3 4]
# 多维数组切片
print "第二行第三到五个数", arr3[2, 2:5]
print "第二列第一到二个数", arr3[0:2, 1]
print "取第二列", arr3[:, 1]
print "取第二行翻转", arr3[1, ::-1]
第二行第三到五个数 [2 3 4]
第二列第一到二个数 [1 1]
取第二列 [1 1 1]
取第二行翻转 [4 3 2 1 0]
# 布尔切片
index = np.array(['one', 'two', 'three'])
print index == 'one'
print '用索引选取第二行',arr3[index == 'two']
[ True False False]
用索引选取第二行 [[0 1 2 3 4]]
# 切片赋值
arr5 = np.array([np.arange(5), np.arange(5), np.arange(5)])
print arr5
[[0 1 2 3 4]
 [0 1 2 3 4]
 [0 1 2 3 4]]
arr5[arr5 < 2] = 2
print arr5
[[2 2 2 3 4]
 [2 2 2 3 4]
 [2 2 2 3 4]]
# 花式索引
print arr3
print "0,1行:"
print arr3[[0, 1]]
print "(0,0),(2,1)元素:"
print arr3[[0, 2], [0, 1]]
[[0 1 2 3 4]
 [0 1 2 3 4]
 [0 1 2 3 4]]
0,1行:
[[0 1 2 3 4]
 [0 1 2 3 4]]
(0,0),(2,1)元素:
[0 1]
# 矩阵转置
print arr3.T
[[0 0 0]
 [1 1 1]
 [2 2 2]
 [3 3 3]
 [4 4 4]]
# 矩阵变形
arr6 = np.arange(18)
print arr6
print arr6.reshape(2, 3, 3)
[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17]
[[[ 0  1  2]
  [ 3  4  5]
  [ 6  7  8]]

 [[ 9 10 11]
  [12 13 14]
  [15 16 17]]]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值