Numpy80题学习笔记(一)
一篇较为杂乱的笔记,来源于公众号“早起Python”的Numpy80进阶80题。
wolai链接:https://www.wolai.com/quantfinance/2e2xFVdkgkwe32cQ1aVker?theme=light
Numpy
归一
将数据归一化到[a,b]区间范围的方法:(1)首先找到样本数据Y的最小值Min及最大值Max(2)计算系数为:k=(b-a)/(Max-Min)(3)得到归一化到[a,b]区间的数据:norY=a+k(Y-Min)
归一化的一般规范函数是:y = (ymax-ymin)*(x-xmin)/(xmax-xmin) + ymin
随机数
1.****numpy.random.rand()官方文档中给出的用法是:numpy.random.rand(d0,d1,…dn)以给定的形状创建一个数组,并在数组中加入在[0,1]之间均匀分布的随机样本。
2.****numpy.random.randn()官方文档中给出的用法是:numpy.random.rand(d0,d1,…dn)以给定的形状创建一个数组,数组元素来符合标准正态分布N(0,1)。若要获得一般正态分布则可用sigma * np.random.randn(…) + mu进行表示
3.****numpy.random.randint()生成随机数组。官方文档中给出的用法是:numpy.random.randint(low,high=None,size=None,dtype)生成在半开半闭区间[low,high)上离散均匀分布的整数值;若high=None,则取值区间变为[0,low)
通配符
常见的格式化符号
格式符号 转换
%s 通过str()字符串转换来格式化
%u 无符号的十进制整数
%d 有符号的十进制整数
%o 八进制整数
%x 十六进制整数,小写字母
%X 十六进制整数,大写字母
%e 浮点数字(科学计数法)
%E 浮点数字(科学计数法,用E代替e)
%f 浮点实数
%g 浮点数字(根据值的大小采用%e或%f)
%G 浮点数字(类似于%g)
:%2和%2==0的区别
数字%2 == 0是真是数字是偶数
第一个返回一个int,第二个返回一个bool. Python的truthiness可以让你处理它们.
返回两个数组中共同的元素
numpy.intersect1d(ar1, ar2, assume_unique=False, return_indices=False)[source] Find the intersection of two arrays. 返回两个数组中共同的元素
找到2个数组中集合元素的差异
setdiff1d(ar1, ar2, assume_unique=False)
1.功能:找到2个数组中集合元素的差异。
2.返回值:在ar1中但不在ar2中的已排序的唯一值。
3.参数:
ar1:array_like 输入数组。
ar2:array_like 输入比较数组。
assume_unique:bool。如果为True,则假定输入数组是唯一的(不去重),即可以加快计算速度。 默认值为False。
将DataFrame转为numpy数组
随机抽样
numpy.random.choice(a, size=None, replace=True, p=None)
从a(只要是ndarray都可以,但必须是一维的)中随机抽取数字,并组成指定大小(size)的数组
replace:True表示可以取相同数字,False表示不可以取相同数字
数组p:与数组a相对应,表示取数组a中每个元素的概率,默认为选取每个元素的概率相同。
切片
一维数组arr_name[start: end: step]
对二维数组arr_name[行操作, 列操作]
数组排序
arr = np.random.randint(1,10,[3,3])
print(arr)
#列逆序
print(arr[:,-1::-1])
#行逆序
print(arr[-1::-1,:])
根据提供的索引值将元素形成数组输出
矩阵SVD分解
参考网址:
https://www.cnblogs.com/wh-ff-ly520/p/9390855.html
行列逆序
arr = np.random.randint(1,10,[3,3])
print(arr)
列逆序
print(arr[:,-1::-1])
行逆序
print(arr[-1::-1,:])
Pandas
统计出现次数
value_counts(normalize=False, sort=True, ascending=False, bins=None, dropna=True)
参数:
1.normalize : boolean, default False 默认false,如为true,则以百分比的形式显示
2.sort : boolean, default True 默认为true,会对结果进行排序
3.ascending : boolean, default False 默认降序排序
4.bins : integer, 格式(bins=1),意义不是执行计算,而是把它们分成半开放的数据集合,只适用于数字数据
5.dropna : boolean, default True 默认删除na值

浙公网安备 33010602011771号