数据分析第二章Numpy

本文介绍了Numpy在数据分析中的常用操作,包括数组切片的区别、布尔运算、meshgrid函数、where函数、统计计算方法如sum和mean、排序、unique和in1d函数、数组输入输出、矩阵运算和随机数生成等。特别是强调了Numpy在布尔数组处理、矩阵运算和随机数生成的优势。
摘要由CSDN通过智能技术生成

1.数组切片和列表切片最大的区别是

数组切片不会创建原数组的副本,而列表切片是创建原数组的副本再进行操作

import numpy as np
a = np.array([0,1,2,3])
b = a[:2]
b[:] = 5    #必须写成b[:]切片形式才有此效果,如果写成b=5,相当于重新定义了变量b,a不会发生修改
print(a)
#输出[5 5 2 3]

此外还需要注意numpy数组没有append,insert等操作

对于列表:

a = [0, 1, 2, 3]
b = a[:2]
b[1] = 0  #列表不可以写成b[:]=0,多对一无法实现,只能写成一对一的形式
print(a)  #输出[0, 1, 2, 3]

2.布尔型数值组成的Numpy数组不能使用and,or等逻辑语句,只能使用&,| 等符号进行与,或运算

import numpy as np
a = np.array([True,True,False])
b = np.array([False,False,False])
print(a and b)   #报错
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()  
print(a & b)

输出:[False False False]

布尔型数值组成的列表可以使用and,or等语句,但是不能使用&,| 等符号

3.numpy中的meshgrid()函数

给定值是两个一维数组,返回两个2维数组,规模是n*m,其中m是第一个一维数组的元素个数,n为第二个一维数组的元素个数

import numpy as np
x = np.array([1,2,3])
y = np.array([4,5])
X,Y = np.meshgrid(x,y)  #输入只要是两个向量,x.T和y.T,x.T和y,或者x,y.T都可以
print(X)
print(Y)

输出:

[[1 2 3]
 [1 2 3]]
[[4 4 4]
 [5 5 5]]

目的就是为了形成(1,4),(1,5),(2,4),(2,5),(3,4),(3,5)

图片加以理解:


此时我们要求每个点的(x**2 + y**2)再开根号就方便了:

z = np.sqrt(X**2 + Y**2)
print(z)

输出:

[[ 4.12310563  4.47213595  5.        ]

 [ 5.09901951  5.38516481  5.83095189]]

4.numpy中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值