numpy基础框架

一、数组的创建与计算

导入模块

import random
import numpy as np

1.生成数组ndarray

arange(start,stop,step)

a1=np.arange(1,9,2)
print(a1)
a2=np.array([1,2,3,4],dtype=float)
print(a2)

2.调整数据类型astype

a1=a1.astype("float")
print(a1)
print(a1.dtype)

3.生成随机数组

#1.随机生成0-1之间的小数
a3=np.array([random.random() for i in range(10)])
print(a3)
#2.随机生成1-10之间的小数
a4=np.array([random.uniform(1,10) for i in range(10)])
print(a4)
#3.随机生成1-10之间的整数
a5=np.array([random.randint(1,10) for i in range(10)])
print(a5)
#4.随机生成1-10之间以2递增的整数
a5=np.array([random.randrange(1,10,3) for i in range(10)])
print(a5)

保留小数点后几位

a3=np.round(a3,3)
print(a3)

4.数组的形状

b1=np.array([[2,3,4,5,6,7],[8,9,0,1,2,3]])
print(b1.shape)

修改数组形状

b1=b1.reshape(3,4)
print(b1)
b2=np.arange(24).reshape(3,8)
print(b2)

flatten展开成一维数组

b2=b2.flatten()
print(b2)

5.数组的加减整除操作

c1=np.arange(12).reshape(3,4)
print(c1+2)
print(c1*2)
print(c1/2)

c2=np.arange(13,25).reshape(3,4)
print(c2)
print(c1)
print(c1+c2)

#广播原则
c3=np.arange(3).reshape(3,1)
print(c3)
print(c1+c3)
c4=np.arange(4).reshape(1,4)
print(c4)
print(c1+c4)

二、读取本地数据

1.numpy读取数据

np.loadtxt

参数功能
dtype数据类型
delimiter分隔字符,默认是空格,应当改为逗号
skipows跳过前x行
usecols读取指定的列
unpack转置
data1=np.loadtxt(r"C:\Users\27569\Desktop\iris.csv",delimiter=',',dtype=float,skiprows=2)
print(data1)

data2=np.loadtxt(r"C:\Users\27569\Desktop\iris.csv",delimiter=',',dtype=float,skiprows=2,unpack=True)
print(data2)

2.矩阵转置函数T

data2=data2.T;
print(data2)

三、索引与切片

0.numpy读取数据

data1=np.loadtxt(r"C:\Users\27569\Desktop\iris.csv",delimiter=',',dtype=float,skiprows=2)

1.取行

print(data1[2])
#取2以后的所有行
print(data1[2:])
#取不连续多行2,4,6
print(data1[[2,4,6]])

2.取行、去列通用操作

逗号之前是行,逗号之后是列
取行

print(data1[2,:])
#取2以后的所有行
print(data1[2:,:])
#取不连续多行2,4,6
print(data1[[2,4,6],:])

取列

#取第一列
print(data1[:,0])
#取连续多列
print(data1[:,2:])
#取不连续多列
print(data1[:,[2,3]])

取第三行到第五行,第二列到第四列的数据:即取行与列交叉点的位置

data2=data1[2:4,1:3]
print(data2)

四、数据的拼接

0.numpy读取数据

import numpy as np
data1=np.loadtxt(r"C:\Users\27569\Desktop\iris.csv",delimiter=',',dtype=float,skiprows=2)
data2=data1[0:4,0:3]
data3=data1[5:9,0:3]

1.竖直拼接np.vstack

data4=np.vstack((data2,data3))
print(data4

2.水平拼接np.hstack

data4=np.hstack((data2,data3))
print(data4)

五、数组的行交换和列交换

1.行交换

data4[[1,2],:]=data4[[2,1],:]
print(data4)

2.列交换

data4[:,[0,1]]=data4[:,[1,0]]
print(data4)

六、常用的统计函数

data2=np.arange(12).reshape(3,4)
print(data2)

1.sum求和

#计算总和
print(np.sum(data2))
#计算行和
print(np.sum(data2,axis=1))
#计算列和
print(np.sum(data2,axis=0))
print(data2.sum(axis=0))

2.mean计算均值

print(data2.mean())
print(data2.mean(axis=0))
print(data2.mean(axis=1))

3.median计算中间值

print(np.median(data2))
print(np.median(data2,axis=0))
print(np.median(data2,axis=1))

4.max,min计算最大值最小值

print(data2.max())
print(data2.max(axis=0))
print(data2.max(axis=1))

5.ptp计算极值

print(np.ptp(data2))
print(np.ptp(data2,axis=0))
print(np.ptp(data2,axis=1))

6.std计算标准差

print(data2.std())
print(data2.std(axis=0))
print(data2.std(axis=1))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值