Numpy基础

ndarray

ndarray:numpy的N维数组对象,其中的所有元素必须是相同的数据类型

属性和方法的区别:
属性没有参数,不需要括号;
方法有参数,有括号
2. 属性

  • ndarray.shape
  • ndarray.dtype
  1. 方法
  • ndarray.astype()

1.1 创建numpy数组 ndarray

  1. np.array() :将输入数据(列表、元组、数组等)转化为ndarray
list = [[1, 2, 3], [4, 5, 6]]
data = np.array(list)
  1. asarray 将输入转为ndarray
data1 = np.asarray(data)
  1. arange 类似于内置的range
np.arange(15)
  1. ones, ones_like
  2. zeros, zeros_like
  3. empty, empty_like
  4. eye, identity

1.2 ndarray的数据类型

整型、浮点型、复数、字符、对象、布尔
ndarray.dtype 属性

通过astype方法显式地转换其dtype

data1_1 = data1.astype(np.float64)
data1_1.dtype

1.3 数组与标量之间的运算

相同大小的数组算术运算是元素级的运算。
数组与标量的算术运算也是元素级的运算。

不同大小的数组之间的运算叫广播(broadcasting)。

1.4 索引和切片 0-based

重点:

  • 复制与视图
  • 索引切片后的数组大小ndarray.shape
  1. 一维数组:
a[5]
b = a[5:8]

复制与视图
ndarray数组是原始数组的视图,数据本身不会被复制。
即data_copy和data共享一块物理内存,在data_copy上的任何操作都会反应到data上。反之亦然。

显式复制
data_copy1 = data.copy()

data = np.arange(15)
data_copy = data[10:]

data_copy[1] = 100
data


data
Out[21]: array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14])

data_copy
Out[22]: array([10, 11, 12, 13, 14])

data_copy[1] = 100
data
Out[23]: 
array([  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,  10, 100,  12,
        13,  14])

data_copy
Out[24]: array([ 10, 100,  12,  13,  14])
data_copy1 = data[10:].copy()
data_copy1[1] = 1000
data


data
Out[29]: 
array([  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,  10, 100,  12,
        13,  14])
  1. 多维数组

对于N维数组而言,索引可以是数字,也可以是1维数组。
若N维数组a的大小是(3,4,5),可以把(3,4,5)理解为三个不同的轴。

a[0][1] == a[0,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值