一、Numpy 的特点:
- Numpy 的底层是使用C语言编写的,处理速度快。
- Numpy 提供的数据结构(即数组)比 Python 内置的数据结构访问效率更高。
- 支持大量高纬度数组以及矩阵运算。
- 提供大量数学函数库。
二、数组
Numpy 中重要的数据结构——数组对象,即numpy.ndarray
特点:
- 用于存放同类型元素的集合。
- 每个元素在内存中具有相同存储大小的区域。
array()函数
- numpy.array(object)
- 其中object的类型只可以是列表或者元组。
数组和列表的区别
- 数组只能保存相同的类型,而列表可以保存任何类型的数据。
import numpy as np a = np.array([2,3,4,5]) print(a) Out: [2,3,4,5]
数据类型
1.整型:
int8: 表示八位有符号的整数
2.浮点型
3.复数:
4.字符串
5.布尔型
6.字节序
int a = 0x090807060504
大端字节序
小端字节序
import numpy as np
a = np.array([2,3,4,5])
print(a)
"""输出数组元素以及其属性"""
print(a, a.dtype)
# [2 3 4 5] int32
"""整数类型32位——> 64位"""
b = np.array([2,3,4,5], dtype=np.int64)
print(b,b.dtype)
# [2 3 4 5] int64
"""类型代码一定要放到字符串中"""
c = np.array([2,3,4,5], dtype='i8')
print(c, c.dtype)
# [2 3 4 5] int64
"""整型转浮点型"""
e = np.array([2,3,4,5], dtype=np.float64)
print(e, e.dtype)
# [2. 3. 4. 5.] float64
"""整型转复数 complex_ 相当于complex128"""
f = np.array([2,3,4,5], dtype=np.complex_)
print(f, f.dtype)
# [2.+0.j 3.+0.j 4.+0.j 5.+0.j] complex128
"""整型转bool型"""
h = np.array([2,3,4,5], dtype=np.bool_)
print(h, h.dtype)
# [ True True True True] bool
"""整型转字符串"""
g = np.array([2,3,4,5], dtype=np.string_)
print(g, g.dtype)
# [b'2' b'3' b'4' b'5'] |S1
"""字符串转unicode"""
g = np.array(['hello', 'java', 'neo4j', 'postgreSQL'], dtype=np.unicode_)
print(g, g.dtype)
# ['hello' 'java' 'neo4j' 'postgreSQL'] <U10
创建一维数组的其他函数
arrange()函数:创建数值范围并且返回数值对象
语法格式:numpy.arrange(start, stop, step, dtype)
- start: 开始值,默认为0,包含开始值。
- stop:结束值,不包含结束值。
- step:步长,默认值为1,该值可以为负数。
- dtype:数组元素类型。
lispace()函数:创建等差数组
语法格式:numpy.lispace(start, stop, num, endpoint, retstep, dtype)
- num:设置生成的元素个数。
- endpoint:设置是否包含结束值,False是不包含,True是包含,默认是True。
- retstep: 设置是否返回步长(即公差),False是不返回,默认是False,True是返回,当值是True时,返回值是二元组,包括数组和步长。
logspace():创建等比数组
语法格式:numpy.logspace(start, stop, num, endpoint, base, dtype)
- start: 开始值,值为base**start
- stop: 结束值,值为base**stop
- base:底数
创建二维数组:通过array()函数创建二维数组
"""创建二维数组"""
ab = np.array([[1,3,5],[2,4,6]])
print(ab)
"""
[[1 3 5]
[2 4 6]]
"""
数组的轴(二维数组):
- 二维数组有两个轴,轴索引分别为0和1
数组转置:使用数组对象属性T,将数组进行转置。