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) ] ...
随机推荐
- SQL Server 疑难杂症--转换科学计数法的数值字符串为decimal类型
今天在操作数据库时,需要将字符串转换成Decimal类型.代码如下: select cast('0.12' as decimal(18,2)); select convert(decimal(18,2 ...
- 【转】Java(多)线程中注入Spring的Bean
问题说明 今天在web应用中用到了Java多线程的技术来并发处理一些业务,但在执行时一直会报NullPointerException的错误,问题定位了一下发现是线程中的Spring bean没有被注入 ...
- 04-Java基础语法【IDEA、方法】
重要内容记录: 01.IDE介绍 IDE(Integarted Development Environment)是Java集成开发环境,是一种专门用来提高Java开发效率的软件. 免费的IDE:Ecl ...
- C#简单鼠标键盘钩子KMHook
简介:由三个文件构成Pinvo.cs.KeyboardHook.cs.MouseHook.cs Pinvo.cs 是KeyboardHook与MouseHook需要的一些常量消息的定义 Keyboar ...
- Linux忘记 root密码的解决办法
很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可. 步骤如下: 重启linux系统 重启 ...
- Freezable 对象概述 | Microsoft Docs
原文:Freezable 对象概述 | Microsoft Docs Freezable 对象概述Freezable Objects Overview 2017/03/30 本文内容 什么是可冻结的? ...
- Spring Cloud介绍
Spring Cloud中国社区博客 Spring Cloud发展到2016年,国内关注的人越来越多,但是相应学习交流的平台和材料比较分散,不利于学习交流,因此Spring Cloud中国社区应运而生 ...
- C#中字节数组byte[]和字符串string类型的相互转换
C#中字节数组byte[]和字符串string类型的相互转换: string转byte[]: byte[] byteArray = System.Text.Encoding.Default.GetBy ...
- mysql 原有的主键情况下设置自增字段
mysql 的自增字段只能是主键,如果原表已经有主键,需要设置自增字段应该怎么做呢? 1.alter table bu_staff drop primary key; 先删除表的主键 id为原表 ...
- MSSQL 打开xp_cmdshell
sp_configure reconfigure go sp_configure reconfigure go