Numpy数组的数据类型 (第4讲)
🍹博主 侯小啾 感谢您的支持与信赖。☀️
🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ
✨本博客收录于专栏Python数据分析宝典.。
✨专栏特点:
①逻辑清晰,循序渐进,符合初学者思维,内容友好程度高。
②内容精炼,且不失重点,入门时间周期短。性比价高。
③能够兼容非科班,如金融,经济,统计,数学等专业的小伙伴。
④附实战案例加持,搭乘数分精通之路的直通车!
✨更多精彩内容敬请期待,小啾持续为您输出中!
文章目录
- 1. 数组数据类型汇总
- 2. 代码示例
使用array(),zeros(),ones(),empty(),arange(),linspace(),logspace(),eye()等方法创建数组时都可以通过dtype参数指定数据类型。
1. 数组数据类型汇总
Numpy
数组中,常用的基本数据类型如下表所示:
类型 | 类型代码/简写 | 描述 |
---|---|---|
int8,uint8 | i1,u1 | 有符号和无符号的8数位整数(-128~127)(0~255) |
int16,uint16 | i2,u2 | 有符号和无符号的16数位整数(-32768~32767)(0~65535) |
int32,uint32 | i4,u4 | 有符号和无符号的32数位整数(-2147483648~2147483647)(0~4294967295) |
int64,uint64 | i8,u8 | 有符号和无符号的64数位整数(-9223372036854775808~9223372036854775807)(0~18446744073709551615) |
float16 | f2 | 半精度浮点数:1个符号位,5位指数,10位尾数 |
float32 | f4 | 标准单精度浮点数:1个符号位,8位指数,23位尾数 |
float64 | f8 | 标准双精度浮点数:1个符号位,11位指数,52位尾数 |
bool | ------------ | 存储一个字节的布尔值,存储True或False。(也可写为bool_) |
complex64 | ------------ | 复数,由两个32位浮点表示(实部和虚部) |
complex128 | 简写:complex_ | 复数,由两个64位浮点表示(实部和虚部) |
datatime64 | ------------ | 日期和事件类型 |
timedelta | ------------ | 两个时间类型的间隔 |
string_ | S | ASCII字符串类型(即字节类型),eg:‘S10’ |
unicode_ | U | Unicode类型(python3的默认字符串是Unicode类型),eg:‘U10’ |
2. 代码示例
这些类型本身也是一个对象,不仅可以作为参数传递到相关函数,也可以单独作为函数使用。
单独作为函数使用的代码示例如下:
print(np.int32(12.56), type(np.int32(12.56)))
print(np.float64(13), type(np.float64(13)))
执行效果:
作为参数指定数组数据类型时,代码示例如下:
import numpy as np
# 整数类型
int8_array = np.array([1, 2, 3], dtype=np.int8)
int16_array = np.array([1, 2, 3], dtype=np.int16)
int32_array = np.array([1, 2, 3], dtype=np.int32)
int64_array = np.array([1, 2, 3], dtype=np.int64)
# 无符号整数类型
uint8_array = np.array([1, 2, 3], dtype=np.uint8)
uint16_array = np.array([1, 2, 3], dtype=np.uint16)
uint32_array = np.array([1, 2, 3], dtype=np.uint32)
uint64_array = np.array([1, 2, 3], dtype=np.uint64)
# 浮点数类型
float16_array = np.array([1.1, 2.2, 3.3], dtype=np.float16)
float32_array = np.array([1.1, 2.2, 3.3], dtype=np.float32)
float64_array = np.array([1.1, 2.2, 3.3], dtype=np.float64)
# 复数类型
complex_array = np.array([1+2j, 2+3j, 3+4j], dtype=np.complex_)
complex64_array = np.array([1+2j, 2+3j, 3+4j], dtype=np.complex64)
complex128_array = np.array([1+2j, 2+3j, 3+4j], dtype=np.complex128)
# 字符串类型
str_array = np.array(['hello', 'world', 'python'], dtype=np.str_)
unicode_array = np.array(['hello', 'world', 'python'], dtype=np.unicode_)
其中,datetime64
和 timedelta
是 NumPy
中用于处理日期和时间的数据类型。
datetime64
是一种用于存储日期和时间的类型,可以表示年、月、日、时、分、秒等单位的时间。以下是一个 datetime64
类型的代码示例:
import numpy as np
date_array = np.array(['2023-07-01', '2023-07-02', '2023-07-03'], dtype='datetime64')
执行效果:
timedelta
是一种用于表示时间间隔的数据类型,可以表示不同时间单位之间的差异。以下是一个 timedelta
类型的代码示例:
import numpy as np
time_diff_array = np.array([1, 2, 3], dtype='timedelta64[D]')
执行效果: