欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据分析Numpy(2)-基础运算

程序员文章站 2024-01-19 14:50:46
...
#导入模块,重命名为np
import numpy as np


a = np.array([7,8,9,10]) #列表转化为一行四列数组
b = np.arange(4) #生成[0,1,2,3]数组

#一维数组上的操作
c1 = a - b #对应的元素相减
c2 = a + b #对应的元素相加
c3 = a * b #对应的元素相乘
c4 = a / b #对应的元素相除
c5 = a** 2 #a中各个元素的平方
c6 = 2*np.sin(a) #10倍的sin(a)
print(b < 3) # array([ True,  True,  True, False], dtype=bool)
print(b == 3) # array([False,  False,  False, True], dtype=bool)

#二维数组上的操作
a1 = np.array([[0,1],[1,1]]) #列表转化为2行2列数组
b1 = np.arange(4).reshape(2,2) #生成[[0,1],[2,3]]
c7= np.dot(a,b) #a,b数组以行乘列的形式[[2,4],[2,3]]
c8 = a.dot(b) #作用等价于c7

#基本方法
a2 = np.random.random((2,4)) #生成2行4列0-1之间的数组
np.sum(a2)  #求和
np.min(a2) #求最小
np.max(a2) #求最大
np.max(a2,axis = 0) #求最大,axis = 0是以列作为查找单元,axis = 1是以列作为查找单元,

a3 = np.arange(2,14).reshape((3,4)) #2-13形成3行4列的数组
np.argmax(a3) #求最大值的索引为0
np.argmin(a3) #求最小值的索引为11
np.average(a3) #求平均值
np.mean(a3) #同求平均值
np.median(a3) #求中位数
np.cumsum(a3) #从首项开始逐个累加生成数组,[2 5 9 14 20 27 35 44 54 65 77 90]
np.diff(a3) #从每一行尾项开始与前一个累减生成数组,所以是三行三列[[1,1,1],[1,1,1],[1,1,1]]
np.nonzero(a3) #分别以每个元素的行、列生成两个数组# (array([0,0,0,0,1,1,1,1,2,2,2,2]),array([0,1,2,3,0,1,2,3,0,1,2,3]))
np.sort(a3) #对每一行进行从小到大的排序
np.transpose(a3) #矩阵转置
print(a3.T) #也是专转置
print(np.clip(a3,5,9)) #a3中大于等于9的位置写9,5-9之间的位置写原值,小于等于5的位置写5
# array([[ 9, 9, 9, 9]
#        [ 9, 9, 8, 7]
#        [ 6, 5, 5, 5]])