numpy的学习之路(1)——创建数组以及基本运算
需要导入的包
import numpy as np
import pandas
一、利用numpy创建数组
1.1创建简单数组
array =np.array([[1,2,3],
[2,3,4]])
print(array)
print('number of dim:',array.ndim)#几维
print('shape',array.shape)#形状 几行几列
print('size',array.size)#有多少个元素
结果:

1.2创建特定属性的数组(矩阵)
a=np.array([2,23,4],dtype=np.int64)#确定特定的元素数据类型
print(a.dtype)
a =np.array([[1,2,3],
[4,5,6]])
print(a)
a=np.zeros((3,4))#三行4列 的0
print(a)
a=np.arange(10,20,2)#10-20 步长为2
print(a)
a=np.linspace(1,10,5)#生成线段 1~10 分5段
print(a)
结果:

二、numpy的简单运算
2.1基础运算
# np的简单运算
a=np.array([10,20,30,40])
b=np.arange(4)
c=a-b#减法
c=a**b#次方
c=10*np.sin(a)#特殊的运算
print(a,b)
print(c)
print(b<3)#单个元素和某个数比大小
结果:

2.2矩阵乘法
# 矩阵的乘法
a=np.array([10,20,30,40])#创建一个array
b=np.array([0,1,2,3])#再创建一个array
print(a.reshape(2,2))#把这两个array全部变为2,2的矩阵
print(b.reshape(2,2)) cdot=np.dot(a.reshape(2,2),b.reshape(2,2))#dot表示矩阵的乘法
cdot2=a.reshape(2,2).dot(b.reshape(2,2)) print(cdot)
print(cdot2)
结果:

2.3矩阵行列和行的相关运算
# 矩阵的行列运算
a=np.random.random((2,4))
print(a)
print(np.sum(a,axis=1))#求行的和
print(np.min(a,axis=0))#求列的最小值
print(np.max(a,axis=1))#求每一行的最大值
结果:

三、numpy的其它的一些运算
3.1最大最小值的索引
a=np.arange(2,14).reshape(3,4)
print(a)
min_key=np.argmin(a)#最小值的索引
print(min_key)
max_key=np.argmax(a)#最大值的索引
print(max_key)
结果:

3.2求平均值
a=np.arange(2,14).reshape(3,4)
print(a)
# 平均值
ave1=np.mean(a)
print(ave1)
ave2=a.mean()
print(ave2)
ave3=np.average(a)
print(ave3)
结果

3.3其它的一些运算
# 求中位数
print(np.median(a))
# 累加 斐波那契数列
print(a)
print(np.cumsum(a))
# 累差
print(a)
print(np.diff(a))
# 非0的数
print(np.nonzero(a))#输出非0的数发位置
# 排序
print(np.sort(a))
# 矩阵的转置
print(np.transpose(a))
print(a.T)
print(a)
# numpy的截取
print(np.clip(a,5,9))#大于5的数全部变9 小于的全部变5
numpy的学习之路(1)——创建数组以及基本运算的更多相关文章
- 嵌入式Linux驱动学习之路(八)创建最小的根文件系统
busybox 在配置busybox,在是否选择要静态链接库时,在静态下,busybox中的工具不需要动态链接库,能够直接运行.而用户自己编写的程序如果需要动态链接库,还是依然需要有. 如果是动态链接 ...
- Qt学习之路(60): 创建shared library
前段时间说了Qt一些类库的使用,今天来换一下口味,来看一下程序设计的问题.今天来说的是关于共享库 shared library. 如果你打开一些 Windows 应用程序的目录,你会发现有很多程序的 ...
- React学习之路之创建项目
React 开发环境准备 IDE工具 visual studio code 开发环境 开发环境需要安装nodejs和npm,nodejs工具包含了npm. nodejs下载官网:https://nod ...
- NUMPY的学习之路(2)——索引,合并,分割,赋值
一.索引 1.1numpy数组的转置 A=np.arange(3,15).reshape(3,4) print(A) print(A[2][0]) print(A[2,1]) print(A[2,:] ...
- NumPy 基于已有数据创建数组
原文:Python Numpy 教程 章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基 ...
- python创建数组的方法
一 直接定义法: 1.直接定义 matrix=[0,1,2,3] 2.间接定义 matrix=[0 for i in range(4)] print(matrix) 二 Numpy方法: Numpy内 ...
- Numpy 学习之路(1)——数组的创建
数组是Numpy操作的主要对象,也是python数据分析的主要对象,本系列文章是本人在学习Numpy中的笔记. 文章中以下都基于以下方式的numpy导入: import numpy as np fro ...
- numpy学习之创建数组
1.使用array函数创建数组 import numpy as np ndarray1 = np.array([1, 2, 3]) array([1, 2, 3]) ndarray2 = np.arr ...
- NumPy学习2:创建数组
1.使用array创建数组 b = array([2, 3, 4])print bprint b.dtype 2.把序列转化为数组 b = array( [ (1.5,2,3), (4,5,6) ] ...
随机推荐
- asm相关内容想下载(包括 jar 包)
网址:http://download.forge.ow2.org/asm/
- Mac下Charles的安装和配置
一.安装与破解 官网下载,破解方法参考其他,此处略 二.配置 1.电脑端安装 Charles 的根证书 注意:此时钥匙串默认为不信任,需设置为始终信任 2.配置代理:勾选enable transpre ...
- Selenium自动化发送163邮箱
自动化发送163邮件 方法一: import time import datetime from selenium import webdriver from selenium.webdriver.s ...
- pikaqiu练习平台(SQL注入 )
sql注入漏洞 (危害是最大得) Sql注入 数据库注入漏洞,主要是开发人员在构建代码时,没有对输入边界进行安全考虑,导致攻击者可以通过合法的输入点提交一些精心构造的语句,从而欺骗后台数据库对其进行执 ...
- Princeton Landmarks in Mathematics and Physics
郎兰茲主页下载:http://10.12.0.10/sunsite.ubc.ca/DigitalMathArchive/Langlands/pdf/?mqcreq=1 http://10.12.0.1 ...
- 剑指offer 62. 二叉搜索树的第 k 个结点
62. 二叉搜索树的第 k 个结点 题目描述 给定一棵二叉搜索树,请找出其中的第k小的结点.例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4. 法一: 非递归中序 ...
- 通过css修改input的边框
input{ border:1px solid #d2d2d2; background-color:transparent; } 可以看到主要是把背景色调成透明的颜色,从而来进行边框的设置
- liunx 使用crontab定时任务+shell脚本删除tomcat日志elasticsearch日志索引
由于过多的日志很占用磁盘空间,今天经理让我写一个脚本删除多余的日志.和es索引 定时删除试根据crontab+shell脚本实现的 crontab配置目录 /var/spool/cron/ 该目录下存 ...
- C语言结构体理解
本质就是数学中集合,里面变量相当于元素,难点在于就是:以前做数学题都是别人给了一个集合,算里面的关系,编程不一样的就是,自己定义一个集合.
- EF CodeFirst 一对一、一对多、多对多关系
一对一关系 如图,无需专门指定,系统会默认在Person表中生成字段Pet_Id为Pet表的外键(一对一). Require:必要的(一对一) Optional:可选的(一对零) Principa ...