Python中的numpy模块

一.Python中的numpy模块能够很好的帮助我们处理类似于数组的数据,并且对他们进行整理或修改,还可以配合matplotlib模块来共同进行数据分析和处理.

1.导入numpy模块

import numpy as np

二.numpy中的内置方法

1.np.array()

s1=np.array([1,3,8,5,22,7])#内置的array方法能够传入列表类新的数据
s2=np.arange(1,6)#自带的arange方法也能将传入的数据转换成列表的形式
s3=np.array(range(24))#在array中还可以使用range方法传入数据

ps:在使用方法传入数据时必须用对象来接收!

2.对象.dtype方法

print(s1.dtype)
print(s2.dtype)
print(s3.dtype)#使用该方法可以查看对象本身元素成员的类型

3.np.loadtxt方法:对某一文件内的内容提取并处理的方法

us_file_path=("./US_Numbers.csv")#利用对象接收需要处理的文件路径
t1=np.loadtxt(us_file_path,delimiter=",",dtype="int",unpack=True)#delimiter表示对数据的分隔符,dtype表示将对象中的内容处理为什么样的类型
t2=np.loadtxt(us_file_path,delimiter=",",dtype="int")

4.对象.shape

s1=np.array([1,3,8,5,22,7])
print(s1.shape)#使用shape方法可以打印出处理对象的类型

 如图,打印出来的(*,*)表示几行几列的形式,一般都用","区分块,行,列。

一维:(*, )#*表示元素个数

二维:(*,*)#前后分别表示*行*列

三维:(*,*,*)#前后分别表示*块*行*列

5.对象.reshape

该方法用来对某个需要处理的数据对象的类型进行修改

s3=np.array(range(24))
t3=s3.reshape(4,6)
print(s3)
print(t3)

 s3本来是一维数组的形式,现将其修改为二维4行6列的形式(注意:对象本身不会被修改,而是会产生一个新的对象)

 6.对象.transpose()

t4=t3.transpose()

表示将t3中的数据行列互换,类似于线性代数中矩阵的转置作用

7.对象.flatten()

t5=t3.flatten()

该方法用于将高维对象由维数展开变成一维的数据对象

8.对象.astype(数据类型)

该方法用于将某个数组对象中的所有元素类型替换成另一种类型

t1=t1.astype(float)

三.numpy对数组的计算

1.数组对象+数字

表示将数组内每个元素都加上该数字

s1=np.array(range(24)).reshape(4,6)
print(s1)
print("*"*100)
s2=s1+2
print(s2)

 2.数组对象*数字

表示将数组内每个元素都乘该数字

s3=s1*2
print("*"*100)
print(s3)

 

3.数组对象/数字

表示将数组内每个元素都除以该数字

ps:若数组对象/的数字为0,那么则会生成nan和inf类型的数据 

s4=s1/2
print("*"*100)
print(s4)
print("*"*100)
s5=s1/0
print(s5)

4.数组对象+数组对象

该操作在两个数组对象维数相同并且对应位置都有元素时才可使用,使每个元素对应相加

 

s6=s1.transpose()
print(s6)
s7=s1+s6
print(s7)

 四.对数组对象中的元素的提取

print(t3[2])#取某一行
print(t3[2:])#从第2下标开始行取到结尾行
print(t3[:3])#注意此处是取到末尾行数即3-1的位置
print(t3[[0,2,3]])#取不连续的某几行,这里取0,2,3行
print(t3)
print("A")
print(t3[1,:3])#表示从第1行第0列开始取到第1行第2列
print("*"*100)
print("B")
print(t3[:,3:])#表示从第3列开始取到最后一列
print("*"*100)
print("C")
print(t3[:,[0,2,4]])#表示取不连续的某几列,这里是取0,2,4列
print("*"*100)
print(t3[[0,1,2],[0,2,3]])#表示分别取[0,0],[1,2],[2,3]位置的点
print("*"*100)
print(t3[t3<10])#表示取出t3中所有小于10的元素

 五.对数组对象元素的修改

1.三目运算符(np.where(布尔条件判断,True,False)

import numpy as np
s1=np.array(range(24)).reshape(4,6)
print(s1)
s2=np.where(s1<15,5,100)
print(s2)

2.对象.clip()方法

 

s3=s1.clip(10,18)
print(s3)

 如图为例,该方法表示将s1数组中小于10的元素替换为10,大于18的元素替换为18

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

愿能改写结局

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值