机器学习 最重要的东西就是算法 这里面的水很深 所以呢我就简单的整理了一下
基础的操作
#导入numpy库 as别名 为了怕重名
import numpy as np
# 打印版本号
print(np.version.version)
#声明一个numpy数组 ,一维数组
nlist = np.array([1,2,3])
print(nlist)
#ndim方法用来查看数组维度
print(nlist.ndim)
# 声明一个二维数组
nlist_2 = np.array([[1,2,3],[4,5,6]])
print(nlist_2)
print(nlist_2.ndim)
#使用shape属性来打印多维数组的形状
print(nlist.shape)
print(nlist_2.shape)
#使用size方法来打印多维数组的元素个数
print(np.size(nlist))
print(np.size(nlist_2))
#打印numpy多维数组的数据类型
#打印普通list
print(type([1,2,3]))
print(type(nlist))
#使用dtype属性来打印多维数组内部元素的数据类型
print(type(123))
print(nlist.dtype)
#itemsize属性,来打印多维数组中的数据类型大小,字节
print(nlist.itemsize)
print(nlist_2.itemsize)
#data属性,用来打印数据的缓冲区 buffer
print(nlist.data)
#使用reshape方法来反向生成多维数组 第一个数字是几维数组的,第二个数字是2行,第三个数字是4列
nlist_3 = np.array(range(24)).reshape((3,2,4))
nlist_4 = np.array(range(32)).reshape((4,2,4))
print(nlist_3)
print(nlist_4)
#使用浮点作为元素类型
nlist_float = np.array([1.0,2.0,3.0])
print(nlist_float.dtype)
#使用字符串
nlist_string = np.array(['1','2','3'])
print(nlist_string.dtype)
#四维数组
nlist_4 = np.array(range(20)).reshape((5,2,2,1))
print(nlist_4)
print(nlist_4.ndim)
#声明一个size为20的四维数组
nlist_4 = np.array(range(20)).reshape((1,2,5,2))
print(nlist_4)
#声明一个3*3的数组
nlist_33 = np.array([[1,2,3],[4,5,6],[2,3,6]])
#属性
print(nlist_33)
print(nlist_33.shape)
print(nlist_33.ndim)
print(nlist_33.size)
#方法
print(np.size(nlist_33))
print(np.shape(nlist_33))
print(np.ndim(nlist_33))
#自动生成元素为1的多维数组,使用ones方法
nlist_ones = np.ones((4,4))
print(nlist_ones)
print(nlist_ones.dtype)
#使用zeros来生成元素为0的多维数组
nlist_zeros = np.zeros((4,4))
print(nlist_zeros)
print(nlist_zeros.dtype)
#使用empty方法来生成随机多维数组 使用第二个参数来指定数据类型
nlist_empty = np.empty([2,2],dtype=np.int)
print(nlist_empty)
print(nlist_empty.dtype)
#把普通list转换为数组
x = [1,2,3]
x= [(1,2,3),(4,5)]
print(np.ndim(x))
print(np.shape(x))
print(type(x))
nlist = np.asarray(x)
print(type(nlist))
print(nlist.ndim)
print(nlist.shape)
#frombuffer 通过字符串(buffer内存地址)切片来生成多维数组
my_str = b'Hello World'
nlist_str = np.frombuffer(my_str,dtype='S1')
print(nlist_str)
x = np.array([[1,2],[3,4]])
print(x)
#指定axis属性可以指定当前多维数组的维度 axis=0 列级相加 ,keepdims=True 保持维度
sum0 = np.sum(x,axis=0,keepdims=True)
print(sum0)
# axis = 1 行级相加
sum1 = np.sum(x,axis=1,keepdims=True)
print(sum1)
#多维数组赋值
x = np.array([1,2])
y = x.copy()
y[0] = 3
# x[0] = 3
print(x)
#维度级的运算
a = np.array([[1,2],[3,4],[5,6]])
b = np.array([[10,20],[30,40],[50,60]])
#使用vstack方法 列级添加
suma = np.vstack((a,b))
print(suma)
#hstack方法 行级添加
sumb = np.hstack((a,b))
print(sumb)
#多维数组的调用
nlist = np.array([[1,2],[3,4],[5,6]])
#取元素4
print(nlist[1][1])
#第二种写法
print(nlist[1,1])
nlist[2][1] = 7
print(nlist)
#删除方法 delete
#删除nlist第二行
nlist = np.delete(nlist,1,axis=0)
print(nlist)
nlist = np.delete(nlist,0,axis=1)
print(nlist)
这些只是一部分基础方法和算法
想学的精的话只能自己慢慢摸索了 , 胜利就在前方 ,加油!!