首页 地下城私服发布站 这3个dnf公益服·1发布网函数,是你学习Numpy的基础!

这3个dnf公益服·1发布网函数,是你学习Numpy的基础!

分享到:
关闭
小编:一个打马蜂垛子高手 2021-05-13 分类:地下城私服发布站 阅读(130)
听新闻 - 这3个dnf公益服·1发布网函数,是你学习Numpy的基础!
00:00 / 00:00

-

+

语速: 慢速 默认 快速
- 6 +
自动播放×

御姐音

大叔音

萝莉音

型男音

温馨提示:
是否自动播放到下一条内容?
立即播放当前内容?
确定
确定
取消

戳→新书推荐 |人工智能没那么难!你要的算法+案例分析+代码统统有!

点击上图,查看教学大纲

1. 本文介绍

前面我们已经为大家详细介绍了ndarray数组的6种常用属性,以及numpy数组中的9种常数

今天黄同学就为大家介绍以下内容:

  • Ⅰ ndarray数组与列表的相互转化;

  • Ⅱ ndarray数组的数据类型转化;

  • Ⅲ 改变ndarray数组的形状;

Ⅰ ndarray数组与列表的相互转化;

Ⅱ ndarray数组的数据类型转化;

Ⅲ 改变ndarray数组的形状;

说白了,就是讲述3个函数。当然,这只是numpy函数中的冰山一角。这里只是介绍在学习numpy过程中,黄同学最先遇到的几个函数。

2. ndarray数组与列表的相互转化地下城私服台服

当你学习numpy的时候,我就默认你肯定已经学过Python基础了。对于list列表这个基本数据类型,你肯定不会感到陌生。

那么我们如何实现 “列表”“数组”之间的相互转化呢?

① 列表转数组:直接将一个列表传入array函数中

展开全文

list1 = list(range( 10))

print(list1)

array1 = np.array(list1dnf 私服 开挂 怎么检测)

print(array1)

结果如下:

② 数组转列表:调用数组的tolist方法

array2 = np.arange( 10)

print(array2)

list2 = array2.toli完美世界国际版sf网st

print(list2)

结果如下:

3. ndarray数组的数据类型转化

记住一句话:numpy中的数据类型转换,不要使用x.dtype修改元素的数据类型,最好用x.astype这种方式。

① numpy中常用的的数据类型

这里只说明一下numpy中常用的数据类型, int类型float类型,但是一般都不是直接写int和float的,而是像int32、float64这样的写法,因此我们就简单说一下这个32或64的含义。

在计算机中,最底层执行的是0和1组成的二进制指令,一个0或者1就代表着一个二进制位,又叫 "比特位(bit)",这里的32或64就是代表二进制位。

根据计算机的换算单位,1字节=8二进制位,即 "1bytes=8bit",因此,根据这种换算:"32bit-4bytes"dnf台服公益服发布网、"64bit=8bytes"。

由上述分析,我们现在对int32做一个 总结,int32说明了该数组中每个元素的数据类型是int32,同时通过32我们又可以知道,该数组中每一个元素的存储空间是4字节,那么这个范围大致是 [-2147483648,2147483647]

② 使用dtype原地修改数组的数据类型,会出现什么问题?

x = np.array([ 1.2, 3.4, 5.6],dtype=np.float64)

print(x)

print(x.dtype)

print(x.nbytes)

# --------------------------------------------

x.dtype= "float32"

print(x)

print(x.nbytes)

# --------------------------------------------

x.dtype= "float16"

print(x)

print(x.nbytes)

结果如下:

为什么会出现上述现象?

通过上面的测试发现,当我们使用"dtype"修改数组的数据类型的时候,比特位(也就是一个"二进制位”)每压缩为原来的二分之一,数组中的元素个数就会变为原来的两倍。

这是为什么呢?

数组一旦创建,它的数据类型也就定了,也就相当于开辟了一块内存,用于存新开sf发布网储这个数组了,下面用一个公式形象说明上述现象的原因。

假设某个数组有x个元素,采用的数据类型是int64,这个数据类型占用的内存大小为8字节,因而整个数组占用的内存大小为8*x。dnf免费私服

当数据类型变为int32的时候,数组中数据类型就变成了4字节,通过上面的计10算我们已经知道这个数组开辟的内存为8 x,因此元素个数就变成了8 x/4-2*x,11 就是说,数组元素变为了原来的2倍。

③ 使用as名扬dnf私服官网type函数修改数组的数据类型:相当于新创建了一个数组

z = np.array([ 1.5, 3.7, 4.8])

print(z)

print(z.dtype)

zz = z.astype(忆梦dnf私服官网np.float32)

print(zz)

print(zz.dtype)

结果如下:

4. 改变ndarray数组的形状① 使用numpy中的reshape函数修改数组对象

xx = np.arange( 10).reshape( 2, 5)

xxx = np.reshape(xx,( 5, 2))

print(xxx)

结果如下:

② 使用数组对象的reshape方法修改数组对象

yy = np.arange( 10).reshape( 2, 5)

print(yy)

结果如下:

③ 改变数组形状时,如果维度大于1,可以将“最后一个维度”设置为-1

p = np.arange( 6).reshape( 2, 3)

print(p)

q = np.arange( 6).reshape( 2, -1)

print(q)

结果如下:

注意:可以这样做的原dnf无充值sf因在于,当你指明了前面的维度,最后一个维度会根据数组元素个数和前面的维度数,自动计算出最后一个维度的维度数,也就是说【维度一 * 好DNF维度二 * … * 维度N = 元素个数】。返回搜狐,查看更多

献吻 20

巴掌 4

内容:
剩余字数:360/360


     :: 正在为您加载评论……


每页10条,共0
play
next
close
公众号

微信扫一扫
公众号更精彩