数据类型和arange方法、astype方法的使用

Numpy支持比Python更多的数字类型

数据类型 描述
bool_ 布尔(True或False),存储为一个字节
int_ 默认整数类型(与Clong相同;通常是int64int32
INTC 与Cint(通常为int32int64)相同
INTP 用于索引的整数(与Cssize_t相同;通常是int32int64
INT8 字节(-128至127)
INT16 整数(-32768至32767)
INT32 整数(-2147483648至2147483647)
Int64的 整数(-9223372036854775808至9223372036854775807)
UINT8 无符号整数(0到255)
UINT16 无符号整数(0到65535)
UINT32 无符号整数(0到4294967295)
UINT64 无符号整数(0到18446744073709551615)
float_ float64的简写。
float16 半精度浮点:符号位,5位指数,10位尾数
FLOAT32 单精度浮点数:符号位,8位指数,23位尾数
float64 双精度浮点:符号位,11位指数,52位尾数
complex_ complex128的简写。
complex64 复数,由两个32位浮点数(实部和虚部)
complex128 复数,由两个64位浮点数(实部和虚部)

除了intc之外,还定义了平台相关的C整数类型shortlonglonglong

arange函数用于创建等差数组,使用频率非常高,arange非常类似range函数 ,两者的区别仅仅是arange返回的是一个数据,而range返回的是list 。要转换数组的类型,请使用.astype()方法(首选)或类型本身作为函数

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import numpy as np

z = np.arange(5)
print(z)
print(z.dtype)
print(50*'*')
# 转化数据类型为float64
floar_arr = z.astype(np.float64)
print(floar_arr)
print(floar_arr.dtype)
print(50*'*')
# 如果将浮点数转换为整数,则小数部分会被截断
z2 = np.array([5.1,9.2,8.3,7.4,3.3214])
print(z2)
print(z2.astype(np.int32))
print(50*'*')
# arange的用法
print(np.arange(1, 5))
print(np.arange(0, 10, 2))

运行结果

1
2
3
4
5
6
7
8
9
10
11
[0 1 2 3 4]
int32
**************************************************
[0. 1. 2. 3. 4.]
float64
**************************************************
[5.1 9.2 8.3 7.4 3.3214]
[5 9 8 7 3]
**************************************************
[1 2 3 4]
[0 2 4 6 8]
打赏了解一下?
0%