NumPy "bitwise_" 开头的函数是位运算函数。
NumPy 位运算包括以下几个函数:
bitwise_and() 函数对数组中整数的二进制形式执行位与运算。
import numpy as np
print ('13 和 17 的二进制形式:')
a,b = 13,17
print (bin(a), bin(b))
print ('\n')
print ('13 和 17 的位与:')
print (np.bitwise_and(13, 17))
输出结果为:
bitwise_or()函数对数组中整数的二进制形式执行位或运算。
输出结果为:
invert() 函数对数组中整数进行位取反运算,即 0 变成 1,1 变成 0。
对于有符号整数,取该二进制数的补码,然后 +1。二进制数,最高位为0表示正数,最高位为 1 表示负数。
看看 ~1 的计算步骤:
将1(这里叫:原码)转二进制 = 00000001
输出结果为:
left_shift() 函数将数组元素的二进制形式向左移动到指定位置,右侧附加相等数量的 0。
输出结果为:
right_shift() 函数将数组元素的二进制形式向右移动到指定位置,左侧附加相等数量的 0。
输出结果为:
以下函数用于对 dtype 为 numpy.string_ 或 numpy.unicode_ 的数组执行向量化字符串操作。 它们基于 Python 内置库中的标准字符串函数。
这些函数在字符数组类(numpy.char)中定义。
numpy.char.add()
numpy.char.add() 函数依次对两个数组的元素进行字符串连接。
输出结果为:
numpy.char.multiply()
numpy.char.multiply() 函数执行多重连接。
输出结果为:
numpy.char.center()
numpy.char.center() 函数用于将字符串居中,并使用指定字符在左侧和右侧进行填充。
输出结果为:
numpy.char.capitalize()
numpy.char.capitalize() 函数将字符串的第一个字母转换为大写:
输出结果为:
numpy.char.title()
numpy.char.title() 函数将字符串的每个单词的第一个字母转换为大写:
输出结果为:
numpy.char.lower()
numpy.char.lower() 函数对数组的每个元素转换为小写。它对每个元素调用 str.lower。
输出结果为:
numpy.char.upper()
numpy.char.upper() 函数对数组的每个元素转换为大写。它对每个元素调用 str.upper。
输出结果为:
numpy.char.split()
numpy.char.split() 通过指定分隔符对字符串进行分割,并返回数组。默认情况下,分隔符为空格。
输出结果为:
numpy.char.splitlines()
numpy.char.splitlines() 函数以换行符作为分隔符来分割字符串,并返回数组。
输出结果为:
\n,\r,\r\n 都可用作换行符。
numpy.char.strip()
numpy.char.strip() 函数用于移除开头或结尾处的特定字符。
输出结果为:
numpy.char.join()
numpy.char.join() 函数通过指定分隔符来连接数组中的元素或字符串
输出结果为:
numpy.char.replace()
numpy.char.replace() 函数使用新字符串替换字符串中的所有子字符串。
输出结果为:
numpy.char.encode()
numpy.char.encode() 函数对数组中的每个元素调用 str.encode 函数。 默认编码是 utf-8,可以使用标准 Python 库中的编解码器。
输出结果为:
numpy.char.decode()
numpy.char.decode() 函数对编码的元素进行 str.decode() 解码。
输出结果为:
NumPy 算术函数包含简单的加减乘除: add(),subtract(),multiply() 和 divide()。
需要注意的是数组必须具有相同的形状或符合数组广播规则。
输出结果为:
此外 Numpy 也包含了其他重要的算术函数。
numpy.reciprocal()
numpy.reciprocal() 函数返回参数逐元素的倒数。如 1/4 倒数为 4/1。
输出结果为:
numpy.power() 函数将第一个输入数组中的元素作为底数,计算它与第二个输入数组中相应元素的幂。
输出结果为:
numpy.mod() 计算输入数组中相应元素的相除后的余数。 函数 numpy.remainder() 也产生相同的结果。
输出结果为:
NumPy 提供了很多统计函数,用于从数组中查找最小元素,最大元素,百分位标准差和方差等。 函数说明如下:
numpy.amin() 和 numpy.amax()
numpy.amin() 用于计算数组中的元素沿指定轴的最小值。
numpy.amax() 用于计算数组中的元素沿指定轴的最大值。
输出结果为:
numpy.ptp()函数计算数组中元素最大值与最小值的差(最大值 - 最小值)。
输出结果为:
numpy.percentile()
百分位数是统计中使用的度量,表示小于这个值的观察值的百分比。 函数numpy.percentile()接受以下参数。
参数说明:
首先明确百分位数:第 p 个百分位数是这样一个值,它使得至少有 p% 的数据项小于或等于这个值,且至少有 (100-p)% 的数据项大于或等于这个值。
输出结果为:
numpy.median() 函数用于计算数组 a 中元素的中位数(中值)
输出结果为:
numpy.mean() 函数返回数组中元素的算术平均值。 如果提供了轴,则沿其计算。
算术平均值是沿轴的元素的总和除以元素的数量。
输出结果为:
numpy.average()
numpy.average() 函数根据在另一个数组中给出的各自的权重计算数组中元素的加权平均值。
该函数可以接受一个轴参数。 如果没有指定轴,则数组会被展开。
加权平均值即将各数值乘以相应的权数,然后加总求和得到总体值,再除以总的单位数。
考虑数组[1,2,3,4]和相应的权重[4,3,2,1],通过将相应元素的乘积相加,并将和除以权重的和,来计算加权平均值。
加权平均值 = (14+23+32+41)/(4+3+2+1)
输出结果为:
在多维数组中,可以指定用于计算的轴。
输出结果为:
标准差是一组数据平均值分散程度的一种度量。
标准差是方差的算术平方根。
标准差公式如下:
如果数组是 [1,2,3,4],则其平均值为 2.5。 因此,差的平方是 [2.25,0.25,0.25,2.25],并且再求其平均值的平方根除以 4,即 sqrt(5/4) ,结果为 1.1180339887498949。
输出结果为:
统计中的方差(样本方差)是每个样本值与全体样本值的平均数之差的平方值的平均数,即 mean((x - x.mean())** 2)。
换句话说,标准差是方差的平方根。
输出结果为:
NumPy 提供了多种排序的方法。 这些排序函数实现不同的排序算法,每个排序算法的特征在于执行速度,最坏情况性能,所需的工作空间和算法的稳定性。 下表显示了三种排序算法的比较。
numpy.sort() 函数返回输入数组的排序副本。函数格式如下:
参数说明:
axis: 沿着它排序数组的轴,如果没有数组会被展开,沿着最后的轴排序, axis=0 按列排序,axis=1 按行排序
kind: 默认为'quicksort'(快速排序)
输出结果为:
numpy.argsort()
numpy.argsort() 函数返回的是数组值从小到大的索引值。
输出结果为:
numpy.lexsort()
numpy.lexsort() 用于对多个序列进行排序。把它想象成对电子表格进行排序,每一列代表一个序列,排序时优先照顾靠后的列。
输出结果为:
上面传入 np.lexsort 的是一个tuple,排序时首先排 nm,顺序为:amar、anil、raju、ravi 。综上排序结果为 [3 1 0 2]。
msort、sort_complex、partition、argpartition
数组按第一个轴排序,返回排序后的数组副本。np.msort(a) 相等于 np.sort(a, axis=0)。
partition(a, kth[, axis, kind, order])
argpartition(a, kth[, axis, kind, order])
可以通过关键字 kind 指定算法沿着指定轴对数组进行分区
复数排序:
partition() 分区排序:
找到数组的第 3 小(index=2)的值和第 2 大(index=-2)的值
同时找到第 3 和第 4 小的值。注意这里,用 [2,3] 同时将第 3 和第 4 小的排序好,然后可以分别通过下标 [2] 和 [3] 取得。
numpy.argmax() 和 numpy.argmin()
numpy.argmax() 和 numpy.argmin()函数分别沿给定轴返回最大和最小元素的索引。
输出结果为:
numpy.nonzero()
numpy.nonzero() 函数返回输入数组中非零元素的索引。
输出结果为:
numpy.where() 函数返回输入数组中满足给定条件的元素的索引。
输出结果为:
numpy.extract()
numpy.extract() 函数根据某个条件从数组中抽取元素,返回满条件的元素。
输出结果为: