(2)numpy基本操作

一、numpy 数据结构

1、导入包
    import numpy

2、创建数组
    nums=numpy.array([5,10,20,15])
    matrix=numpy,array([[5,10,20,15],[5,10,20,15]])

3、获取向量的维度 .shape
    print(nums.shape)
    print(matrix.shape)


4、获取属性 .dtype #.dtype.name
    print(nums.dtype)
    List中可以存任何类型的数据,但是ndarray中所有数据的类型必须一样

5、numpy读取文件:读出的数据是矩阵的形式 ndarray
    world_alcohol=numpy.genfromtxt("...",delimiter=",",dtype=str,skip_header=1)
        #skip_header=1 去掉第一行
        #delimiter=","分隔符是","

6、获取矩阵中的元素
    获取所有样本的第二列  print(python[:,1])
    获取所有样本的2到3行  print(python[1:3,:])
    区分 python[1:] 和 python[1,:]
    

    
二、numpy基本操作

1、对于矩阵中的每一个元素进行判断
    vector= numpy.array([1,2,3,4,10])
    equal_to_ten=(vector==10)#python中的与和或用 & |(vector==10)|(vector==5)
    print(equal_to_ten)
    输出:array([False, False, False, False, True])

2、对矩阵进行过滤
    print(vector[equal_to_ten])
    输出:[10]
    
3、numpy中的类型转换
    vector.astype(str)
    
4、numpy获取最小值和最大值或求和
    matrix.sum(axis=1)#按行进行
    matrix.sum(axis=0)#按列进行


三、矩阵属性

1、构造一个从零开始的排列
a=np.arange(15)
[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14]

2、对矩阵结构进行重新构造
a.reshape(3,5)
a.shape=(3,5)

3、获取矩阵有几个维度 .ndim

4、获取矩阵中有多少个元素 .size


四、矩阵操作

1、获取一个全零的矩阵
    np.zeros((3,4)) #默认是float类型的

2、获取一个全1的矩阵,设置格式
    np.ones((2,3,4),dtype=np.int32)
    
3、获取一个均匀分布的数组
    np.arange(起始值,终止值,间隔)
    np.arange(10,30,5)
    
    获取一个均匀分布的数组
    np.arange(起始值,终止值,多少个数)
    np.linspace(0,2*pi,100)
    
4、获取一个随机数构成的矩阵
    np.random.random((4,5))

5、ndarray的运算
    维度一样,对应项进行操作
    纬度不一样,每个值进行相同的操作
    矩阵相乘:A.dot(B)  np.dot(A,B)
    

五、常用函数

1、各种函数
    np.exp(B)
    np.sqrt(B)
    np.floor(B)#向下取整
    
2、把矩阵变成向量
    B.ravel()
    
3、求矩阵转置
    A=B.T
    
4、将两个矩阵进行拼接
    np.vstack(A,B)#按行拼接
    np.hstack(A,B)#按列拼接
    
5、将矩阵进行切分
    np.hsplit(A,3)#切分成三个
    np.hsplit(A,(3,4))#在34分别切一刀
    
6、获取最大值或最小值的位置
    ind=A.argmax(axis=0) #每列中最大值的位置
    data_max=A[ind,range(A.shape[1])]#获取这些最大值
    
7、矩阵的扩展
    b=np.tile(a,(4,2))#行变成4倍,列变成2倍
    
8、对矩阵进行排序
    np.sort(A,axis=1)#按行排序
    np.argsort(A,axis=1) #按索引值进行排序   

 

六、变量

1、a=b a和b完全一样,指向内存中同一块空间

2、c=a.view() c初始化为和a一样的值,变换a和c中的一个值,两个都相同变,
        是一个浅复制,id不一样
        
3、d=a.copy() d初始化为和a一样的值,变换a和d中的一个值,另一个不变
    
    

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值