[numpy] 基础练习 (一)
Numpy常用总结
基础要打牢,恩。
基础
# 0 - 9
arr = np.arange(10)
# 3*3 bool
np.full((3,3),true,dtype = bool)
np.ones((3,3),dtype = bool)
# 奇数替换为-1
arr[arr%2 ==1] = -1
# 奇数替换为-1并且不改变原来数组
np.where(arr%2==1,-1,arr)
# 改变形状
a = np.random.randint(0,100,(3,4))
a.reshape((-1,6))
# 堆叠 (3,3) (3,3) -> (2,3,3) axis 沿axis向前堆叠,即向前增加一个轴在增加的轴上进行堆叠
a = np.ramdom.randint(0,100,(3,3))
b = np.random.randint(0,100,(3,3))
c = np.stack([a,b],axis = 0)
# 沿已有的轴堆叠 c.shape = (6,3),矩阵形式下等于vstack,同样的也有htack
a = np.ramdom.randint(0,100,(3,3))
b = np.random.randint(0,100,(3,3))
c = np.concatenate([a,b])
# 获取两个数组的公共项,交集
a = np.array([1,3,5,7,9])
b = np.array([2,3,5,4,8])
print(np.intersect1d(a,b))
# 从a中删除与b的公共项
a = np.array([1,3,5,7,9])
b = np.array([2,3,5,4,8])
print(np.setdiff1d(a,b))
# 得到数组元素匹配的位置,np.where得到位置,a==b得到true or false
a = np.array([1,3,5,7,9])
b = np.array([2,3,5,4,8])
print(np.where(a==b))
# 得到一定范围内的数组
a = np.array([1,3,5,7,9])
print(a[np.where((a>0) & (a<5))])
# 使得一般函数能够处理numpy对象,一定程度上我认为和map函数异曲同工
a = np.array([1,2,3,4,5])
b = np.array([5,4,3,2,1])
def maxx(x,y):
if x>y:
return x
else:
return y
pair_max = np.vectorize(maxx,otypes = [float])
print(pair_max(a,b))
# 交换第一列和第二列
a = np.arange(9).reshape((3,3))
print(a[:,[1,0,2]])
# 交换第一行和第二行
a = np.arange(9).reshape((3,3))
print(a[[1,0,2],:])
# 反转二维数组的行
a = np.arange(9).reshape((3,3))
print(a[::-1,:])
# 反转二维数组的列
a = np.arange(9).reshape((3,3))
print(a[:,::-1])
# 创建5到10之间随机浮动的二维数组
print(np.uniform(5,10,(5,3)))
print(np.random.random())
# 打印numpy数组的时候只保留小数点后三位
random_arr = np.random.random((5,3))
np.set_pointoptions(precision = 3)
print(random_arr)
# 设置科学计数法输出 suppress = False 则为科学计数法,True为小数输出
random_arr = np.random.random((5,3))/1e3
np.set_printoptions(supppress = False)
# 设置打印的数目数,多余的省略号代替
random_arr = np.arange(15)
np.set_printoptions(threshold = 6) # threshold = np.nan则全部打印
# 计算均值、中位数、标准差
mu,med,sd = np.mean(x),np.median(x),mp.std(x)
# 归一化到0和1之间
smin,smax = x.min(),s.max()
S = (x - smin)/(smax - smin)
# 计算softmax的得分,可以计算多个类别的score,感觉可以记一记
def softmax(x)
e_x = np.exp(x - np.max(x))
return e_x/e_x.sum(axis = 0)
# 在2d数组20个随机位置插入1
a = np.random.random((9,9))
i,j = np.where(a)
a[np.random.choice(i,20),np.random.choice(j,20)] # 两个random choice分别选择了 行和列
# 多个条件过滤Numpy数组
a = np.arange(50).reshape((-1,5))
condition = (a>5) & (a<10)
print(a[condition])
[numpy] 基础练习 (一)的更多相关文章
- 利用Python进行数据分析(5) NumPy基础: ndarray索引和切片
概念理解 索引即通过一个无符号整数值获取数组里的值. 切片即对数组里某个片段的描述. 一维数组 一维数组的索引 一维数组的索引和Python列表的功能类似: 一维数组的切片 一维数组的切片语法格式为a ...
- 《利用python进行数据分析》读书笔记--第四章 numpy基础:数组和矢量计算
http://www.cnblogs.com/batteryhp/p/5000104.html 第四章 Numpy基础:数组和矢量计算 第一部分:numpy的ndarray:一种多维数组对象 实话说, ...
- 利用Python进行数据分析——Numpy基础:数组和矢量计算
利用Python进行数据分析--Numpy基础:数组和矢量计算 ndarry,一个具有矢量运算和复杂广播能力快速节省空间的多维数组 对整组数据进行快速运算的标准数学函数,无需for-loop 用于读写 ...
- numpy 基础操作
Numpy 基础操作¶ 以numpy的基本数据例子来学习numpy基本数据处理方法 主要内容有: 创建数组 数组维度转换 数据选区和切片 数组数据计算 随机数 数据合并 数据统计计算 In [1]: ...
- Numpy 基础
Numpy 基础 参考https://www.jianshu.com/p/83c8ef18a1e8 import numpy as np 简单创建数组 # 创建简单列表 a = [1, 2, 3, 4 ...
- [转]python与numpy基础
来源于:https://github.com/HanXiaoyang/python-and-numpy-tutorial/blob/master/python-numpy-tutorial.ipynb ...
- python学习笔记(三):numpy基础
Counter函数可以对列表中数据进行统计每一个有多少种 most_common(10)可以提取前十位 from collections import Counter a = ['q','q','w' ...
- Numpy基础数据结构 python
Numpy基础数据结构 NumPy数组是一个多维数组对象,称为ndarray.其由两部分组成: 实际的数据 描述这些数据的元数据 1.一维数组 import numpy as np ar = np.a ...
- Python Numpy基础教程
Python Numpy基础教程 本文是一个关于Python numpy的基础学习教程,其中,Python版本为Python 3.x 什么是Numpy Numpy = Numerical + Pyth ...
- NumPy基础操作
NumPy基础操作(1) (注:记得在文件开头导入import numpy as np) 目录: 数组的创建 强制类型转换与切片 布尔型索引 结语 数组的创建 相关函数 np.array(), np. ...
随机推荐
- 7.19实习培训日志- java进阶
java进阶 java集合 Collection List ArrayList jdk1.2,异步处理,性能高,线程不安全 Vector jdk1.0,同步处理,性能低,线程安全 Set HashSe ...
- UVaLive 4256 Salesmen (简单DP)
题意:给一个无向连通图,和一个序列,修改尽量少的数,使得相邻两个数要么相等,要么相邻. 析:dp[i][j] 表示第 i 个数改成 j 时满足条件.然后就很容易了. 代码如下: #pragma com ...
- 使用gRPC搭建Server端与Client端
gRPC简介 gRPC是一种RPC框架技术,采用Protocal Buffers(协议缓存) 作为其接口定义的语言(就是Proto来写接口)和基础的消息交换格式. 在gRPC中,客户端应用程序可以直接 ...
- mysql由浅入深探究(四)----mysql事务详解
什么是事务: 通俗的解释就是对数据库进行的一组完整的操作,这组完整的操作中包含一个或多个操作.解释的太low了,来点官方的:事务就是DBMS中执行的一个完整的逻辑单元,这个逻辑单元中包含一个或者多个操 ...
- TCP/IP之大明邮差
大明王朝天启四年, 清晨. 天色刚蒙蒙亮,我就赶着装满货物的马车来到了南城门, 这里是集中处理货物的地方 , 一队一队的马车都来到这里, 城头的士兵带着头盔,身披盔甲, 手持长枪, 虎视眈眈的注视这下 ...
- Solr 6.7学习笔记(06)-- spell check
拼写检查也是搜索引擎必备的功能.Solr中提供了SpellCheckComponent 来实现此功能.我看过<Solr In Action>,是基于Solr4.X版本的,那时Suggest ...
- 51nod1105(二分)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1105 题意:中文题诶- 思路:直接二分答案,再通过二分找有多少 ...
- AGC001 E - BBQ Hard【dp+组合数学】
首先直接按要求列出式子是\( \sum_{i=1}^{n}\sum_{j=i+1}^{n}C_{a_i+a_j+b_i+b_j}^{a_i+a_j} \) 这样显然过不了,因为ab的数据范围比较小,所 ...
- [NOIP2012] 摆花
1270. [NOIP2012] 摆花 http://cogs.pro/cogs/problem/problem.php?pid=1270 ★ 输入文件:flower.in 输出文件:flow ...
- 30岁程序员的焦虑 Anxiety of 30-year-old Programmers
还有四个月,我就30周岁了.圈里都在传30岁程序员的焦虑,我也焦虑.身边的朋友,除了已经上岸的一部分,说不焦虑的,几乎找不到. 我们不妨认真地来聊一下这个话题:30岁,程序员,焦虑. 首先,什么是焦虑 ...