机器学习之numpy入门

机器学习之numpy入门

numpy基本使用

numpy创建数组方式

# coding = utf-8
import random
import numpy as np
# array方式传入数据
t1 = np.array(range(0, 12))
print(t1)
print(t1.dtype)
print(type(t1))
# np.arange方式
t2 = np.arange(0, 12)
print(t2)
print(t2.dtype)
print(type(t2))
# 改变np的dtpye
t3 = t2.astype("float")
print(t3.dtype)
# 取小数位数
t4 = np.array([random.random() for i in range(10) ])
print(t4)
print(t4.round(3))

numpy读取本地文件

# numpy 读取本地文件
# 文件路径、读取类型、分隔符、跳过开头多少行,,unpack默认为False,为True为转置矩阵
file = np.loadtxt("E://a.csv",dtype="int64",delimiter=",",skiprows=1,usecols=None,unpack=False)

numpy的转置

t1 = np.arange(0, 12).reshape(3, 4)
print(t1.T)
print(t1.transpose())
print(t1.swapaxes(1,0))

numpy取行取列取值

# 取行
print(file1[1])
print(file1[1,:])
print(file1[0:])
print(file1[0:,:])
print(file1[1:])
print(file1[1:,:])
print(file1[[1,2]])
print(file1[[1,2],:])
# 取列
print(file1[:,1])
print(file1[:,1:])
print(file1[:,[0,2]])
# 取值
print(file1[3,4])
print(file1[4,5])

numpy修改值
直接赋值即可
numpy拼接

t1 = np.arange(0, 12).reshape(2, 6)
print(t1)
print("-----------------")
t2 = np.arange(5, 17).reshape(2, 6)
print(t2)
print("-----------------")
# 径直拼接
print(np.vstack((t1,t2)))
print("-----------------")
# 水平拼接
print(np.hstack((t1,t2)))

numpy交换行列

t1 = np.arange(0, 12).reshape(3, 4)
print(t1)
print("--------")
# 交换行,第一行和第二行交换
t1[[1,2],:]=t1[[2,1],:]
# 交换列,第一列和第二列交换
t1[:,[1,2]]=t1[:,[2,1]]
print(t1)

创建全0 或者全1或者对角矩阵

zeros = np.zeros((3, 4))
print(zeros)
ones = np.ones((3, 3))
print(ones)
eye = np.eye(3)
print(eye)
ran = np.random.randint(10,20,(3,4),dtype=int)
print(ran)

a=b完全不复制,a和b互相影响
a=b[:]视图操作,会创建新的对象a,但是a的数据完全由b保管,他们两个的数据变化是一致的
a=b.copy()完全赋值, a和b互不影响

nan表示不是一个数字
inf表示正无穷
-inf 表示负无穷
np.nan == np.nan 为false
nan判断

ones = np.ones((3, 3))
ones[2,2]=np.nan
print(ones)
nonzero = np.count_nonzero(ones!=ones)
print(nonzero)
isnan = np.isnan(ones)
print(isnan)

nan和任何值相计算都是nan

np.sum中若有nan很多时候并不是简单将其替换为0,而是替换成均值或者中值

t.mean(axis=0)某一行的均值
np.median(t)中值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值