需要导入的包

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)——创建数组以及基本运算的更多相关文章

  1. 嵌入式Linux驱动学习之路(八)创建最小的根文件系统

    busybox 在配置busybox,在是否选择要静态链接库时,在静态下,busybox中的工具不需要动态链接库,能够直接运行.而用户自己编写的程序如果需要动态链接库,还是依然需要有. 如果是动态链接 ...

  2. Qt学习之路(60): 创建shared library

    前段时间说了Qt一些类库的使用,今天来换一下口味,来看一下程序设计的问题.今天来说的是关于共享库 shared library. 如果你打开一些 Windows 应用程序的目录,你会发现有很多程序的 ...

  3. React学习之路之创建项目

    React 开发环境准备 IDE工具 visual studio code 开发环境 开发环境需要安装nodejs和npm,nodejs工具包含了npm. nodejs下载官网:https://nod ...

  4. 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,:] ...

  5. NumPy 基于已有数据创建数组

    原文:Python Numpy 教程 章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基 ...

  6. python创建数组的方法

    一 直接定义法: 1.直接定义 matrix=[0,1,2,3] 2.间接定义 matrix=[0 for i in range(4)] print(matrix) 二 Numpy方法: Numpy内 ...

  7. Numpy 学习之路(1)——数组的创建

    数组是Numpy操作的主要对象,也是python数据分析的主要对象,本系列文章是本人在学习Numpy中的笔记. 文章中以下都基于以下方式的numpy导入: import numpy as np fro ...

  8. numpy学习之创建数组

    1.使用array函数创建数组 import numpy as np ndarray1 = np.array([1, 2, 3]) array([1, 2, 3]) ndarray2 = np.arr ...

  9. NumPy学习2:创建数组

    1.使用array创建数组 b = array([2, 3, 4])print bprint b.dtype 2.把序列转化为数组 b = array( [ (1.5,2,3), (4,5,6) ] ...

随机推荐

  1. 数据预处理 | 使用 pandas.to_datetime 处理时间类型的数据

    数据中包含日期.时间类型的数据可以通过 pandas 的 to_datetime 转换成 datetime 类型,方便提取各种时间信息 1 将 object 类型数据转成 datetime64 1&g ...

  2. (转)java中新生代和老年代

    转自:http://blog.csdn.net/lojze_ly/article/details/49456255 聊聊JVM的年轻代 1.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不 ...

  3. Alan Walker MV 合辑01 by defender

    Alan Walker MV合辑  出来啦! 百度网盘下载地址: 链接:https://pan.baidu.com/s/10WSool70XBe_8tJOae8V-w 提取码:uckq 地址查看 Mi ...

  4. 使用shader,矩阵旋转实现图片的旋转动画

    常用于loading动画之类的 具体的实现代码: fixed4 frag (v2f i) : SV_Target { //1.先将uv平移到原点(让图片中心与原点重合) float2 pianyi=( ...

  5. Windows启动项更改

    笔者遇到的问题: 之前新装了Windows10系统,但没注意到的是竟然是deepin和Windows10双系统,一是用不到deepin系统,二是占用C盘空间太多,就重新装回了Windows7系统,但重 ...

  6. 7.Springboot之web开发

    自用 要解决的问题: 1.导入静态资源(html之类的(webapp)) 2.首页 3.没有写Jsp的地方-------->所以要学模板引擎Thymeleaf 4.装配扩展springmvc 5 ...

  7. 题解【洛谷P1967】[NOIP2013]货车运输

    题面 题解 注意到有一些限重很低的边不会被走到. 于是考虑建一棵最大生成树,在生成树上寻找答案. 设\(f[i][j]\)表示\(i\)的\(2^j\)级祖先,\(w[i][j]\)表示\(i\)到\ ...

  8. 2019牛客多校第五场 G subsequence 1 dp+组合数学

    subsequence 1 题意 给出两个数字串s,t,求s的子序列中在数值上大于t串的数量 分析 数字大于另一个数字,要么位数多,要么位数相同,字典序大,位数多可以很方便地用组合数学来解决,所以只剩 ...

  9. 解决报错Failed to start LSB: Bring up/down networking:MAC地址导致

    1.场景描述,我在电脑里装好的虚拟机,今天突然就网络无法打开,并出现如下报错: [root@ansible-control ~]# systemctl start networkJob for net ...

  10. Linux system 初步

    快捷键: open a new terminal: ctrl+alt+T; close current terminal: ctrl+shift+W; switch windows: alt+tab ...