利用Python进行数据分析第二天

January

通用函数:一种在ndarry中逐元素进行操作的函数

sqrt:开平方根函数

exp:指数函数

numpy.maximum:逐个元素地将x和y中元素的最大值计算出来

February

向量化数组操作:和纯Python数据处理相比,使用numpy可以大量节省运算时间

np.arange(-5,5,0.01) //np.arange相当于numpy内置的range,其功能相较于range更加强大,其step可以设置为小数

March

将某个条件逻辑(判断)作为数组操作的开关:numpy.where()函数

where()函数的典型用法是根据一个数组来生成一个新的数组:假设你有一个随机生成的矩阵数据(命名为arr),并且你想将其中的正值都替换为2,所有的负值替换为-2,可以使用np.where()来实现

np.where(arr>0,2,-2)

April

数学和统计方法:

1.生成一些符合正态分布的随机数:arr=np.random.randn(5,4)

2.numpy的基础数组统计方法

mean()方法—arr.mean(axis=1) //计算每行的平均数

sum()方法—arr.sum(axis=0) //计算每列之和

arr.cumsum() //累加,结果不聚合,会产生中间计算值

arr.cumprod() //累乘,结果不聚合,会产生中间计算值

arr.cumsum(axis=0)

arr.cumprod(axis=1)

May

布尔值数组的方法:对于布尔值数组,常用的方法有any和all any():检查数组中是否至少有一个True all():检查是否每个值都是True

June

数组排序:arr.sort() //简单理解为直接在原数组上排序

进阶用法:arr,sort(1) //按行为单位,分别排序

计算一个数组的分位数,并选出分位数所对应的值:large_arr[int(0.05*len(large_arr))] //求排序后arr数组5%处的数是哪个

找出数组中不重复的元素,并排序返回:np.unique()方法

检查一个数组中的值是否在另一个数组中:np.in1d()方法。//举例np.in1d(arr,[2,3,6])

July

数组在默认情况下是以未压缩的格式进行存储的,文件的后缀名是.npy

例如:np.save(‘some_array’,arr)

硬盘上的数组可以使用np.load进行载入

例如 np.load(‘some_array.npy’)

你可以使用np.savez将数组作为参数传递给该函数,用于在未压缩文件中保存多个数组

例如 np.savez(‘array_archive.npz’,a=arr,b=arr) //这个文件中有两个数组,分别是a和b

当使用arch=np.load(‘array_archive.npz’)载入array_archive.npz文件时,计算机会获得一个字典对象arch

我们可以通过字典对象arch,轻松调用a,b数组

例如 arch[‘b’]

August

线性代数

numpy中的矩阵点乘积方法:x.dot(y)或者是np.dot(x,y)

矩阵取逆:inv(arr)

September

伪随机数生成:np.random.normal((size=4,4)) //np.random.normal()方法可以指定期望值和标准差

而np.random.randn(4,4)只能从标准正态分布中选取伪随机数

伪随机种子:np.random.seed(1234)

np.random使用的是全局随机种子,我们也可以避免全局状态,使用numpy.random.RandomState()创建一个随机数生成器

使用该方法生成的随机数是固定的

October

随机漫步:

什么是随机漫步?从0开始,step为-1或者是1,且两者发生的概率相等

random.randint(0,1)的范围是[0,1]

而np.random.randint(0,1)的范围是[0,1)

一次模拟多次随机漫步:

draws=np.random.randint(0,2,size(nwalks,nsteps))

steps=np.where(draws>0,1,-1)

walks=steps.cumsum(1)

posted @ 2023-02-10 12:16  wuhaoliu  阅读(10)  评论(0)    收藏  举报  来源