---恢复内容开始---
1、通用函数——ufunc(数组函数)
numpy包里面有许多的简单函数
一元通用函数
np.abs---计算整数、浮点数、复数的绝对值
fabs---非负数的绝对值
sqrt---元素平方根
square---各元素的平方
exp---指数e的x次方
.
.
二元通用函数
add(加) subtract(减) multiply(乘) divide(除)
floor_divide(丢弃余数的整除)
power(A的B次方,A是第一个数组中的元素,B是第二个数组中的元素)
max(最大值) fmax(忽略NaN, 求最大值)Not a Number
min fmin
mod(求模,除法中的余数)
copysign (第二个数组中的值的符号复制给第一个数组中的值)
greater > greater_equal >= 均最终产生布尔型数组
less < less_equal<=
equal = not_equal !=
logical_and logical_or logical_xor 且 或 非
2、利用数组进行数据分析
首先,矢量化是指用数组表达式代替python的普通循环。
np.wehere用于根据一个数组产生新的数组
arr = np.random.randn(4,4) arr 返回为 array([[ 0.61332224, -1.05117097, -0.84696004, -0.27137368], [ 0.61668765, -0.28892021, -0.3351271 , 0.20804892], [ 1.38186831, 0.84161578, 0.34944678, 1.32217962], [-0.16234266, -1.39231172, -0.11728331, 0.63589553]]) np.where(arr>0,2,-2) 返回为 array([[ 2, -2, -2, -2], [ 2, -2, -2, 2], [ 2, 2, 2, 2], [-2, -2, -2, 2]]) 另外where还可以嵌套使用 np.where(cond1&cond2,0 np.where(cond1,1, np.where(cond2,2,3)))
轴用来为超过一维的数组定义的属性,二维数据拥有两个轴:第0轴沿着行的垂直往下,第1轴沿着列的方向水平延伸。
其他,数组统计函数为 std---标准差 var---方差 argmin---最小值索引 comsum---所有元素的累计和 comprod---所有元素的累计积 sum函数可以对布尔型数组中的True值进行计数 arr = np.random.randn(50) (arr > 0).sum() 返回值为 25
3、Numpy数组排序
一维数组可以直接sort就可以完成
arr = np.random.randn(5)
arr.sort
arr
返回值为
array([ 1.20801059, -0.1505957 , -0.1863048 , 0.39777751, -0.67243568])
多维数组可利用将轴号传给sort进行排序
arr = np.random.randn(5,3)
arr
返回为
array([[-2.32465573, -0.8331435 , -0.25726053], [-0.74449026, -0.4840514 , -0.10254945], [-0.25760022, -0.01386315, 0.35368015], [ 0.33300364, 0.58523588, 1.87840659], [ 1.04487588, 1.53477932, 2.12223762]])
arr.sort(0) 返回为
array([[-0.25726053, -2.32465573, -0.8331435 ],
[-0.10254945, -0.4840514 , -0.74449026],
[ 0.35368015, -0.25760022, -0.01386315],
[ 0.58523588, 1.87840659, 0.33300364],
[ 1.53477932, 2.12223762, 1.04487588]])
sort(0)----按列方向排序
sort(1)----按行方向排序
排序最直接的应用就是找到一组数据的各分位数
arr = np.random.randn(1000) arr.sort() arr[int(0.5 * len(arr))]#中位数 返回值为 0.033359695414764835
4、numpy 的集合逻辑
numpy 的集合运算中最常用的就是np.unique,主要用来找出数组中的唯一值并且返回已完成排序的结果。
ints = np.array([3,4,5,4,5,3,4,3,5,6]) np.unique(ints) 返回为 array([3, 4, 5, 6]) 字符型数组同样可以
其他的集合运算包括
unique(x)---计算x中的唯一元素,并有序返回
intersect1d(x,y)---计算x,y中的公共元素,并有序返回
union1d(x,y)---计算x,y的并集,并有序返回
in1d(x,y)---得到一个表示“x的元素是否包含于y”的布尔型数组
setdiff1d(x,y)---元素在x中且不在y中
setxor1d(x,y)---异或 在一个数组中,但不同时在两个数组中的元素
5、numpy的文件输入输出
写入数据 np.save
arr = np.arange(10) np.save(‘some_array‘,arr) 如果无扩展名,则会默认加.npy
读取数据 np.load
np.load(‘some_array.npy‘)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
np.savez 能够将多个数组保存到一个压缩文件
各个数组以关键字参数传入
np.savez(‘arr_new‘,a = arr, b= arr) arr1 = np.load(‘arr_new.npz‘) arr1[‘a‘] 返回为 array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
---恢复内容结束---
《利用python进行数据分析》学习笔记--Numpy(2)
原文:https://www.cnblogs.com/jx1111jx/p/9537447.html