创建数组
ndarray
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
1 | import numpy as np |
empty
1 | import numpy as np |
numpy.empty(shape, dtype = float, order = 'C')
ones
1 | import numpy as np |
zeros
1 | import numpy as np |
numpy.asarray
numpy.asarray(a, dtype = None, order = None)
从已有数组创建数组
a可以是:列表[]
、元组()
、多维数组[[]]
、列表元组[()]
、元组的元组(())
、元组的列表([])
numpy.fromiter
numpy.fromiter(iterable, dtype, count=-1)
从可迭代对象中建立ndarray对象
numpy.arange
numpy.arange(start, stop, step, dtype)
从数值范围创建数组:[start,stop)
linspace
np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
以等差数列创建数组:默认 [start,stop]
logspace
np.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None)
以等比数列创建数组:默认 [start,stop]
数组切片
slice函数
1 | a = np.arange(10) |
冒号分隔切片
1 | a = np.arange(10) |
二维数组切片
1 | a = np.array([[1,2,3],[3,4,5],[4,5,6]]) |
若行/列只有冒号,可以使用...
代替冒号
1 | a = np.array([[1,2,3],[3,4,5],[4,5,6]]) |
高级索引
数组索引
1 | import numpy as np |
布尔索引
1 | import numpy as np |
花式索引
1 | import numpy as np |
数组操作
修改数组形状
numpy.reshape(arr, newshape, order='C')
不改变数据的条件下修改形状,不改变原数组
1 | import numpy as np |
ndarray.flatten(order='C')
展平数组,不影响原数组
numpy.ravel(a, order='C')
展平数组,影响原数组
-
order:‘C’ – 按行,‘F’ – 按列,‘A’ – 原顺序,‘K’ – 元素在内存中的出现顺序
-
ravel
以F展开时不影响原数组
1 | import numpy as np |
翻转数组
numpy.transpose(arr, axes)
numpy.ndarray.T
1 | import numpy as np |
连接数组
numpy.concatenate((a1, a2, ...), axis)
1 | import numpy as np |
分割数组
numpy.split(ary, indices_or_sections, axis)
1 | import numpy as np |
数组元素添加与删除
numpy.resize(arr, shape)
对比reshape,以C格式读取原数组元素后,填充至指定形状新数组
1 | import numpy as np |
numpy.append(arr, values, axis=None)
向数组末尾添加元素,默认返回一维数组
定义axis时,可以对二维数组按轴添加元素
1 | import numpy as np |
Numpy.delete(arr, obj, axis)
按轴删除元素
1 | import numpy as np |
numpy.unique(arr, return_index, return_inverse, return_counts)
arr:输入数组,如果不是一维数组则会展开
return_index:如果为true,返回新列表元素在旧列表中的位置(下标),并以列表形式储
return_inverse:如果为true,返回旧列表元素在新列表中的位置(下标),并以列表形式储
return_counts:如果为true,返回去重数组中的元素在原数组中的出现次数
1 | import numpy as np |
NumPy 字符串函数
函数 | 描述 |
---|---|
add() | 对两个数组的逐个字符串元素进行连接 |
multiply() | 返回按元素多重连接后的字符串 |
center() | 居中字符串 |
capitalize() | 将字符串第一个字母转换为大写 |
title() | 将字符串的每个单词的第一个字母转换为大写 |
lower() | 数组元素转换为小写 |
upper() | 数组元素转换为大写 |
split() | 指定分隔符对字符串进行分割,并返回数组列表 |
splitlines() | 返回元素中的行列表,以换行符分割 |
strip() | 移除元素开头或者结尾处的特定字符 |
join() | 通过指定分隔符来连接数组中的元素 |
replace() | 使用新字符串替换字符串中的所有子字符串 |
decode() | 数组元素依次调用str.decode |
encode() | 数组元素依次调用str.encode |