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

2022-09-22 17:58:11 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

文章目录

  • 前言
  • 一、numpy是什么?
  • 二、使用步骤
    • 1.引入库
    • 2.读入数据
  • 总结

前言

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

故引入数组的概念。


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

一、numpy是什么?

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

二、使用步骤

1.引入库

代码如下(示例):

代码语言:javascript复制
import numpy as np 

2.使用数组的基本案例

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

代码语言:javascript复制
array1=np.zeros(10)
print(array1)

输出:

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

代码语言:javascript复制
import numpy as np
array1=np.zeros(10)
array1[2]=5
array1[5]=11
print(array1)

输出:

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

代码语言:javascript复制
import numpy as np
array1=np.zeros(10)
array1[2]=5
array1[5]=11
print(type(array1))

输出:

3.二维数组的使用

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

代码语言:javascript复制
import numpy as np
array1=np.arange(10,26).reshape(4,4)
print(array1)

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

输出:

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

代码语言:javascript复制
import numpy as np
array1=np.arange(10,26).reshape(4,4)
print(array1[1][1])

输出:

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

代码语言:javascript复制
import numpy as np
array1=np.arange(10,26).reshape(4,4)
print(array1[0:2][:])

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

输出:

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

代码语言:javascript复制
import numpy as np
array1=np.arange(10,26).reshape(4,4)
print(array1[0:3:2,0:3:2])

输出:

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

代码语言:javascript复制
import numpy as np
array1=np.arange(10,26).reshape(4,4)
print(array1[0:3:2][0:3:2])

输出:

4.数组的基本运算

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

代码语言:javascript复制
import numpy as np
arr1=np.arange(0,27).reshape(3,3,3)
print(arr1)

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

输出:

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

代码语言:javascript复制
import numpy as np
arr1=np.arange(0,27).reshape(3,3,3)
arr2=np.sqrt(arr1)
print(arr2)

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

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

代码语言:javascript复制
import numpy as np
arr1=np.arange(-27,0).reshape(3,3,3)
arr2=np.sqrt(arr1)
print(arr2)

输出:

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

代码语言:javascript复制
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函数是根据其判断条件来执行不同的分支语句。

输出:

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

代码语言:javascript复制
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)

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

输出:

总结

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

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

0 人点赞