数据分析第六节课numpy函数练习作业

第六节课numpy函数练习作业

练习

  • 创建 2*2 的数组arr1 元素自定义
  • 创建 223 的数组arr2 元素自定义
  • 查看arr2的维度以及形状
  • 将arr2转为1维
  • 将arr1进行转置
  • 生成 4*4 全为1的数组 arr3
  • 生成 单位矩阵

代码如下:

import numpy as np
import random

#定义生成多维数组的函数
def make_arr(*args):
    dim = len(args)  #dim 为维度
    n = 1
    for i in range(dim):
        n *= args[i]
    #生成数值个数相同的一维array数组
    arr = np.array([random.randint(0,100) for i in range(n)]) 
    #转化为所需形状
    arr = arr.reshape(args)
    print(arr)
    return arr

#定义生成单位矩阵的函数
def make_unit_matrix(n):
    lst1 = [ 0 for i in range(n)]
    lst2 = lst1[:]                   #连接的起始列表
    #将n个长度为n的列表连接成新列表
    for i in range(1,n):
        lst3 = lst1[:]
        lst3[i] = 1                  #第i个列表的第i个元素赋值为1
        lst2 += lst3
    lst2[0] = 1
    #将列表转换为(n,n)的矩阵
    arr = np.array(lst2).reshape(n,n)
    print(arr)
    return arr

arr1 = make_arr(2,2)
#三种方法进行转置: arr1.T,arr1.transpose(),arr1.swapaxes(1,0)
print(arr1.T)            
# print(arr1.transpose())
# print(arr1.swapaxes(1,0))

arr2 = make_arr(2,2,3)
print(f'arr2的维度是{arr2.ndim},形状是{arr2.shape}')
#三种方法将多维压缩为一维:arr2.reshape(n),arr2.flatten(),arr2.ravel()
print(arr2.reshape(12))         #n可以为任意负数也可以为数组中数值的总个数
# print(arr2.flatten())
# print(arr2.ravel())

arr3 = np.ones((4,4))         #生成shape形状的全为1的数组
print(arr3)

#调用自定义函数生成单位矩阵
arr4 = make_unit_matrix(4)

arr5 = np.empty((4,4))         #生成shape形状的初始化为空的数组
print(arr5)

arr6 = np.full((4,4),2)         #生成shape形状全为n的数组
print(arr6)

arr7 = np.zeros((4,4))           #生成shape形状的全为0的数组
print(arr7)

arr7 = np.ones_like(arr2)         #生成形状与arr2相同的全为1的数组
print(arr7)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值