python中的数组模块numpy(一)(适用物联网数据可视化及数据分析)

目录

一、创建数组对象array,认识数组的格式

二、类型比较

三、arange函数:创建一维等差数组

四、专门创建数组的linspace、logsapace函数

1.linspace函数:创建等差数列数组。

2.logsapce函数:创建等比数列数组。

[3.zeros函数:创建指定长度或形状的全0数组 。](#3.zeros函数:创建指定长度或形状的全0数组 。)

[4.ones函数:创建指定长度或形状的全1数组 。](#4.ones函数:创建指定长度或形状的全1数组 。)

5.diag函数:创建一个对角阵。


一、创建数组对象array,认识数组的格式

array函数的格式:np.array(object,dtype,ndmin)

以下是示例代码:

python 复制代码
# coding:utf-8
import numpy as np
d1=[1.1,2.1,3.1]
d2=(1,2,3,4)
d3=[['a','b'],['c','d'],['e','f']]
print(d1)
print(d2)
print(d3)
print("以上是数据的原始状态,以下是转化成数组对象后的输出:")
s1=np.array(d1)
s2=np.array(d2)
s3=np.array(d3)
print(s1)    #输出了空格
print(s2)
print(s3)   #回车加空格

让我们观察一下数组格式,输出如下:

------闲着没事大家可以type()一下s1、s2、s3看看是不是ndarray数组类型

python 复制代码
print(type(s1)) #表示输出的是ndarray数组类型

二、类型比较

~常见的列表、元组通过numpy模块转数组后,它的类型、数组的数据类型dtype对象

说明:在创建数组时,NumPy会为新建的数组推断出一个合适的数据类型,并保存在dtype中,当序列中有整数和浮点数时,NumPy会把数组的dtype定义为浮点数据类型。

python 复制代码
print(s1.dtype)
print(s2.dtype)
print(s3.dtype)

输出如下:

------如果指定了dtype类型,就会自然转化成这个类型,如整型转浮点型:

python 复制代码
s4=np.array(d2,dtype='float64')
print(s4.dtype)

有一些是能指定转化的有一些则不能,如果你要将字符类型转换成浮点型就不可以,有空多尝试。

三、arange函数:创建一维等差数组

底层完整格式:np.arange([start, ],stop, [step, ],dtype)

[ ]中括号的意思是,可有可没有,如:

python 复制代码
warray=np.arange(10,dtype="int32")
print(warray)
# 默认结束为10,开始为0,间隔为1的等差数列

以下是精简中文版解释:

**语法:**np.arange(起始数字,结束数字,差值,dtype="类型")

python 复制代码
# coding:utf-8
# 创建一维等差数组
import numpy as np
warray=np.arange(1,10,1,dtype="int32")
print(warray)

输出如下:

四、专门创建数组的linspace、logsapace函数

1.linspace函数:创建等差数列数组。

底层完整格式:np.linspace(start,stop,num,endpoint, retstep=Falsed,type=None)

start:序列的起始值。

stop:序列的结束值。如果 endpoint 为 True,该值会包含在生成的数组中;如果为 False,则不包含,endpoint默认为True。

num:要生成的样本数,默认为 50。

retstep:如果为 True,返回 (samples, step),其中 step 是样本之间的间隔。默认为 False。

dtype:输出数组的数据类型。如果没有给出,则从其他输入参数推断数据类型。

axis:在 0 的情况下,返回的数组是 1-D 的,否则返回的数组的形状是 (num,) + shape(start)。

以下是精简中文版解释:

**语法:**np.linspace(起始数字,结束数字,生成的样本数)

python 复制代码
# coding:utf-8
import numpy as np
# linspace函数
w=np.linspace(0,11,5,endpoint=False,dtype='int32')
#开始,结束,间隔数量
print(w)

输出如下:

2.logsapce函数:创建等比数列数组。

底层完整格式:np.logspace(start,stop,num,endpoint=True,base=10.0, dtype=None))

说明:logspace的参数中,start,stop代表的是基数的幂,默认基数base为10,第三个参数为生成元素个数。

python 复制代码
y=np.logspace(1,5,5,base=2,endpoint=True,dtype='int32')
print(y)

开始值是2^1 即2

结束值是2^5 即32

2~32中有五个元素等比数列就是这样式滴:2^1 2^2 2^3 2^4 2^5

以下是精简中文版解释:

**语法:**np.logspace(起始数字的n次幂,结束数字的n次幂,生成个数,base=n)

3.zeros函数:创建指定长度或形状的全0数组 。

底层完整格式:np.zeros(shape,dtype=float, order='C')

以下是精简中文版解释:

  • shape:数组的形状,可以是一个整数或一个表示形状的元组。
  • dtype:数组的数据类型,可选参数,默认为float64
  • order:数组元素在内存中的排列顺序,可选参数,可以是'C'(按行排列)或'F'(按列排列)。

**语法:**np.zeros(整数/元组,dtype=类型, order='C/F')

如果是元组描述一个形状:np.zeros((row,column),dtype='int32')

示例代码:

python 复制代码
z1=np.zeros((4,3),dtype='int32')
z2=np.zeros((3,4),dtype='int32')
print('z1\n',z1,'\nz2:\n',z2)

输出结果:

4.ones函数:创建指定长度或形状的全1数组

底层完整格式:np.ones(shape, dtype=None, order='C')

语法同zeros函数一样。

示例代码:

python 复制代码
o1=np.ones((4,3),dtype='int32')
o2=np.ones((3,4),dtype='int32')
print('o1\n',o1,'\no2:\n',o2)

输出结果:

5.diag函数:创建一个对角阵。

底层完整格式:np.diag(v, k=0)

以下是精简中文版解释:

v:必选,列表、元组、数组,对角线元素;

k:可选,默认为0,表示对角线位置;

示例代码:

python 复制代码
# 列表
d1=np.diag([1,2,3,4,5])
# 元组
d2=np.diag((1,2,3,4,5))
# 数组
s=np.array([1,2,3,4,5])
d3=np.diag(s)

print('d1:',d1,'\n')
print('d2:',d2,'\n')
print('d3:',d3,'\n')

输出结果:

此外,同理使用eye函数可创建一个对角线为1其他位置全为0的矩阵。


当这篇博客的篇章缓缓落下帷幕,惊喜却并未停止。我为大家精心准备了福利,快来参与吧!扫描二维码,开启幸运之旅,抽取丰厚好礼。愿这份小小的惊喜,为你的生活增添一抹别样的光彩,期待与你再次相遇在这充满奇妙的文字世界。

相关推荐
GocNeverGiveUp2 分钟前
机器学习2-NumPy
人工智能·机器学习·numpy
Kai HVZ1 小时前
python爬虫----爬取视频实战
爬虫·python·音视频
古希腊掌管学习的神1 小时前
[LeetCode-Python版]相向双指针——611. 有效三角形的个数
开发语言·python·leetcode
赵钰老师1 小时前
【R语言遥感技术】“R+遥感”的水环境综合评价方法
开发语言·数据分析·r语言
m0_748244831 小时前
StarRocks 排查单副本表
大数据·数据库·python
B站计算机毕业设计超人1 小时前
计算机毕业设计PySpark+Hadoop中国城市交通分析与预测 Python交通预测 Python交通可视化 客流量预测 交通大数据 机器学习 深度学习
大数据·人工智能·爬虫·python·机器学习·课程设计·数据可视化
路人甲ing..1 小时前
jupyter切换内核方法配置问题总结
chrome·python·jupyter
游客5201 小时前
opencv中的常用的100个API
图像处理·人工智能·python·opencv·计算机视觉
每天都要学信号2 小时前
Python(第一天)
开发语言·python
凡人的AI工具箱2 小时前
每天40分玩转Django:Django国际化
数据库·人工智能·后端·python·django·sqlite