Python 数组操作_python中数组的表示形式

Python 数组操作_python中数组的表示形式文章目录前言 一、numpy是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言在python中本身有着列表等数据结构,但是列表只是一种数据的存储容器,不具备任何计算能力。故引入数组的概念。提示:以下是本篇文章正文内容,下面案例可供参考一、numpy是什么?NumPy是一种非常常用的第三方模块,在学习数据分析及挖掘时经常能够用到他。接下来就阐述一些使用numpy进行的基本操作。二、使用步骤1.引入库代码如下(示例):i…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺


前言

python中本身有着列表等数据结构,但是列表只是一种数据的存储容器,不具备任何计算能力。

故引入数组的概念。


提示:以下是本篇文章正文内容,下面案例可供参考

一、numpy是什么?

NumPy是一种非常常用的第三方模块,在学习数据分析及挖掘时经常能够用到他。接下来就阐述一些使用numpy进行的基本操作。

二、使用步骤

1.引入库

代码如下(示例):

import numpy as np 

2.使用数组的基本案例

(1)创建一个长度为10,元素全为0的ndarray对象;可以使用numpy中的zeros函数

array1=np.zeros(10)
print(array1)

输出:

Python 数组操作_python中数组的表示形式

(2)将第3个元素改为5,第6个元素改为11

import numpy as np
array1=np.zeros(10)
array1[2]=5
array1[5]=11
print(array1)

 输出:

Python 数组操作_python中数组的表示形式

(3)查看数组元素的数据类型

import numpy as np
array1=np.zeros(10)
array1[2]=5
array1[5]=11
print(type(array1))

输出:

Python 数组操作_python中数组的表示形式 

 3.二维数组的使用

 (1)创建一个包含从10到25的16个元素的4*4的二维数组;

import numpy as np
array1=np.arange(10,26).reshape(4,4)
print(array1)

我们可以利用arange函数先创建一个由10到25的数组,再利用reshape函数改变其结构,使其变为4*4的二维数组

输出:

Python 数组操作_python中数组的表示形式

(2)打印输出第二行、第二列的元素;

import numpy as np
array1=np.arange(10,26).reshape(4,4)
print(array1[1][1])

输出:

Python 数组操作_python中数组的表示形式

 (3)打印输出第一行和第二行的元素;

import numpy as np
array1=np.arange(10,26).reshape(4,4)
print(array1[0:2][:])

 在调用数组时可以有多种格式,如array[0:2,:]

输出:

Python 数组操作_python中数组的表示形式

(4)打印输出第一行、第三行、第一列、第三列的元素;

import numpy as np
array1=np.arange(10,26).reshape(4,4)
print(array1[0:3:2,0:3:2])

输出: 

Python 数组操作_python中数组的表示形式将步长设为2就可以跳过中间的一行来输出。此时如果我们使用 array1[0:3:2][0:3:2]这种写法时会发现输出的数字会自动变成同一行

import numpy as np
array1=np.arange(10,26).reshape(4,4)
print(array1[0:3:2][0:3:2])

输出:

Python 数组操作_python中数组的表示形式

 4.数组的基本运算

(1)创建一个3*3*3的三维数组arr1,包含元素0~26;

import numpy as np
arr1=np.arange(0,27).reshape(3,3,3)
print(arr1)

 与创建二维数组时相同的方法创建一个0到26的3*3*3数组

输出:

Python 数组操作_python中数组的表示形式

(2)计算数组中各元素的平方根,得到一个新的三维数组arr2;

import numpy as np
arr1=np.arange(0,27).reshape(3,3,3)
arr2=np.sqrt(arr1)
print(arr2)

利用sqrt函数可以计算数组中各个数字的算术平方根 

Python 数组操作_python中数组的表示形式

如果我们在数组中存在负数时输出会有警告并且会显示nan 

import numpy as np
arr1=np.arange(-27,0).reshape(3,3,3)
arr2=np.sqrt(arr1)
print(arr2)

输出:

Python 数组操作_python中数组的表示形式 

 (3)将arr2中的小于3的元素,改为9,其余不变;

import numpy as np
arr1=np.arange(0,27).reshape(3,3,3)
arr2=np.sqrt(arr1)
arr2=np.where(arr2<3,9,arr2)
print(arr2)

利用np.where函数来删选符合条件的数据。np.where函数是根据其判断条件来执行不同的分支语句。

输出:

Python 数组操作_python中数组的表示形式

(4)取出arr1中所有小于arr2中的元素,放在数组arr3中; 

import numpy as np
arr1=np.arange(0,27).reshape(3,3,3)
arr2=np.sqrt(arr1)
arr2=np.where(arr2<3,9,arr2)
arr3=arr1[arr1<arr2]
print(arr3)

 在使用比较运算符时其返回的一定是一维数组

输出:

Python 数组操作_python中数组的表示形式

 

 

 

总结

本文为一些基础的numpy函数的操作,其中还有大量的功能没有使用。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170314.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mapstate辅助函数(辅助函数是什么)

    当一个组件需要获取多个状态时候,将这些状态都声明为计算属性会有些重复和冗余。为了解决这个问题,我们可以使用mapState辅助函数帮助我们生成计算属性,让你少按几次键:mapState是什么?表面意思:mapState是state的辅助函数.这么说可能很难理解抽象形容:mapState是state的语法糖,这么说可能你还想骂我,因为你根本不了解什么叫做语法糖,事实上我说的…

    2022年4月14日
    32
  • 一阶惯性滤波特点_一阶惯性环节仿真

    一阶惯性滤波特点_一阶惯性环节仿真由文章(二)可知,二次平均法改善了一次平均法滤除低频干扰时超调的影响,但仍然未能完全滤除低频干扰。因此,通过改变反馈控制系统参数结合平均法是一个不错的选择,仿真如图:通过改变比例系数,可以实现一定的滤波效果,此方法是通过降低响应参数的方式实现一级滤波,通过平均法实现二级滤波,仿真结果如下图:文章《一阶惯性传感器的快速跟踪性能实现》中,最终传递函数为:本例中,传递函数为启动性能与文章《一阶惯性传感器的快速跟踪性能实现》中接近,且较大地滤除了高频、低频干扰可见,该控制

    2022年10月4日
    0
  • 记录关于微信开放平台扫码登录的问题「建议收藏」

    记录关于微信开放平台扫码登录的问题「建议收藏」1、开放平台扫码登录需要snsapi_login权限,此权限需要注册微信开放平台账号并完成交钱认证。2、添加网站应用,并等待审核通过。通过后会分配一个独立的appid和appsecret。3、网站应用的授权回调域名需要严格按照xxx.yyy.zz的顶级域名填写4、开发时的主要问题是redirect_uri这里:   A、此redirect_uri是微信回调域名,是可以接受请求的真实地址  …

    2022年5月2日
    44
  • Activiti 简易教程「建议收藏」

    Activiti 简易教程「建议收藏」一搭建环境1.1  JDK6+activiti运行在版本6以上的JDK上。转到OracleJavaSE下载页面,点击按钮“下载JDK”。网页中也有安装说明。要核实安装是否成功,在命令行上运行java–version。将打印出安装的JDK的版本。1.2  Ant1.8.1+从Ant[http://ant.apache.org/bindownload.c

    2022年7月21日
    10
  • 接口400错误解析

    接口400错误解析   今天我遇上一个让我很痛心的错误400。对程序员来说,这可能是一个最简单的错误码。因为这个相应并没有进拦截器,更没有进到Controller层。可我在解决这个问题时,质询了很多朋友不解,百度各种方案无效。苦苦耗费我大半天时间。        首先,遇到400问题,最大几率是出现了数据类型不一致的问题,简单来说是Controller层不用正确读取你发送请求附带的参数。该例是我前端传送JSON格…

    2022年6月12日
    83
  • Mysql学习总结(10)——MySql触发器使用讲解

    Mysql学习总结(10)——MySql触发器使用讲解

    2021年7月8日
    72

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号