首页 > 编程语言 >Python机器学习实验 数据处理之Numpy

Python机器学习实验 数据处理之Numpy

时间:2024-04-03 10:33:52浏览次数:29  
标签:matrix Python reshape print arange np 数组 数据处理 Numpy

一、实验目的

1. 了解numpy库的基本功能

2. 掌握Numpy库的对数组的操作与运算

二、实验工具:

1. Anaconda

2. Numpy

三、Numpy简介

Numpy 的英文全称为 Numerical Python,指Python 面向数值计算的第三方库。Numpy 的特点在于,针对 Python 内建的数组类型做了扩充,支持更高维度的数组和矩阵运算,以及更丰富的数学函数。Numpy 是 Scipy.org 中最重要的库之一,它同时也被 Pandas,Matplotlib 等我们熟知的第三方库作为核心计算库。

NumPy(Numeric Python)提供了许多高级的数值编程工具,如:矩阵数据类型、矢量处理,以及精密的运算库。专为进行严格的数字处理而产生。多为很多大型金融公司使用,以及核心的科学计算组织如:Lawrence Livermore,NASA用其处理一些本来使用C++,Fortran或Matlab等所做的任务。

Numpy包括了:1、一个强大的N维数组对象Array;2、比较成熟的(广播)函数库;3、用于整合C/C++和Fortran代码的工具包;4、实用的线性代数、傅里叶变换和随机数生成函数。Numpy和稀疏矩阵运算包scipy配合使用更加方便。

四、实验内容

1. 数组的创建(创建全0数组,全1数组,随机数数组)

#数组的创建(创建全0数组,全1数组,随机数数组)

import numpy as np
a=np.zeros(5)
b=np.ones(5)
c=np.random.randint(0,5)
print(a,b,c)

2. 数组的属性(查看数组的维度,数组元素的个数)

#数组的属性(查看数组的维度,数组元素的个数)

import numpy as np
a=np.array([[1,2,3],[4,5,6],[7,8,9]])
print(a.shape)
print(a.size)

3. 数组的维度操作(将数组的行变列,返回最后一个元素,返回第2到第4个元素,返回逆序的数组)

a=np.array([[1,2,3],[4,5,6]])

#数组的维度操作(将数组的行变列,返回最后一个元素,返回第2到第4个元素,返回逆序的数组)

import numpy as np
a=np.array([[1,2,3],[4,5,6]])
print(a.T)
print(a[-1])
print(a[1:4])
print(a[::-1])

4. 数组的合并(数组的水平合并,垂直合并,深度合并)

a=np.arange(9).reshape(3,3)

b=np.arange(9).reshape(3,3)

#数组的合并(数组的水平合并,垂直合并,深度合并)
import numpy as np
a=np.arange(9).reshape(3,3)
b=np.arange(9).reshape(3,3)
c=np.hstack((a,b))
print(c)
d=np.vstack((a,b))
print(d)
e=np.dstack((a,b))
print(e)

5. 数组的拆分(数组的水平拆分,垂直拆分,深度拆分)

a=np.arange(27).reshape(3,3,3)

#数组的拆分(数组的水平拆分,垂直拆分,深度拆分)
import numpy as np
a=np.arange(27).reshape(3,3,3)
c=np.hsplit(a,3)
print(c)
d=np.vsplit(a,3)
print(d)
e=np.dsplit(a,3)
print(e)

6. 数组运算(与常的四则运算,与数组的四则运算,判断数组是否相等)

a=np.arange(4,dtype=np.float32).reshape(2,2)

b=np.arange(4,8,dtype=np.float32).reshape(2,2)

#数组运算(与常的四则运算,与数组的四则运算,判断数组是否相等)
import numpy as np
a=np.arange(4,dtype=np.float32).reshape(2,2)
b=np.arange(4,8,dtype=np.float32).reshape(2,2)
constant=5
print(a+constant)
print(a-constant)
print(a*constant)
print(a/constant)
print(a+b)
print(a-b)
print(a*b)
print(a/b)
print(a==b)
print(a!=b)

7. 数组的常用函数(数组所有元素的和、积、平均值、最大值、最小值、元素替换、方差、标准差)

a=np.array([3,2,4])

#数组的常用函数(数组所有元素的和、积、平均值、最大值、最小值、元素替换、方差、标准差)
import numpy as np
a=np.array([3,2,4])
print(np.sum(a))
print(np.prod(a))
print(np.mean(a))
print(np.max(a))
print(np.min(a))
a[0]=10
print(a)
print(np.std(a))
print(np.var(a))

8.创建一个长度为10的一维全为0的ndarray对象,然后让第5个元素等于1

#创建一个长度为10的一维全为0的ndarray对象,然后让第5个元素等于1
import numpy as np
a=np.zeros(10)
a[4]=1
print(a)

9.运行以下代码,理解每句代码的意思或输出结果(print 语句):

(a)

mysqrt = [math.sqrt(x) for x in range(0,5)]

mycrt = [x**(1/3) for x in range(0,5)]

npData = np.array(mysqrt)

print(“The shape:”, npData.shape)

print(“The dimensionality:”, npData.ndim)

print(“The type:”, npData.dtype)

twoDarray = np.array([mysqrt, mycrt])

print(“The shape:”, twoDarray.shape)

print(“The dimensionality:”, twoDarray.ndim)

print(“The type:”, twoDarray.dtype)

(b)

zeros = np.zeros(3)

zMat = np.zeros((4,3))

ones = np.ones(3)

oMat = np.ones((3,2))

diag = np.eye(4)

rng = np.arange(5)

dm = np.diag(rng)

print(dm.shape)

zMat_re = zMat.reshape(6,2)

Print(zMat_re)

( c )

A = np.random.randint(0,10, size = (3,2))

B = np.random.randint(0,10, size = (3,3,3))

C = np.random.randint(0,10, size = (3,1))

print(A**2)

print(np.sqrt(A))

print(A + C)

print(B + C)

B[:, 0:2 , 0:2 ] -= 20

print(B)

10. 给定一个矩阵 2n×2n,将该矩阵分成四个象限(参见示例),然后返回一个新的 2×2 矩阵,包含每个象限的平均值。

例子:

#给定一个矩阵 2n×2n,将该矩阵分成四个象限,然后返回一个新的 2×2 矩阵,包含每个象限的平均值。
import numpy as np


def quadrant_averages(matrix):
    # 检查输入矩阵的维度
    if matrix.shape[0] != matrix.shape[1] or matrix.shape[0] % 2 != 0:
        raise ValueError("输入矩阵必须是2n×2n的维度")

    n = matrix.shape[0] // 2

    # 分割矩阵为四个象限
    q1 = matrix[:n, :n]
    q2 = matrix[:n, n:]
    q3 = matrix[n:, :n]
    q4 = matrix[n:, n:]

    # 计算每个象限的平均值
    avg_q1 = np.mean(q1)
    avg_q2 = np.mean(q2)
    avg_q3 = np.mean(q3)
    avg_q4 = np.mean(q4)

    # 返回包含每个象限平均值的2x2矩阵
    return np.array([[avg_q1, avg_q2], [avg_q3, avg_q4]])


# 测试函数
matrix = np.array([[1, 2, 5, 7],
                   [4, 1, 8, 0],
                   [2, 0, 5, 1],
                   [0, 2, 1, 1]])

print(quadrant_averages(matrix))

标签:matrix,Python,reshape,print,arange,np,数组,数据处理,Numpy
From: https://blog.csdn.net/Jiangxia13/article/details/137277599

相关文章

  • python数据类型内置方法(部分明天补充)
    1.整型内置a.+加法,调用的内部的add函数b.类型强制转换可以将符合整数格式的字符串转换成整数类型只能转换符合整数格式的字符串c.进制转换oct()八进制hex()十六进制bin()二进制d.int也支持进制转换,其他进制转为十进制eg:print(int('ob1101',2))2.浮点数......
  • 第十一篇【传奇开心果系列】Python自动化办公库技术点案例示例:深度解读Python自动化操
    传奇开心果博文系列系列博文目录Python自动化办公库技术点案例示例系列博文目录前言一、重要作用二、Python操作PDF文件转Word文档介绍三、提高效率示例代码四、保持一致性示例代码五、精确度与质量控制示例代码六、适应复杂需求示例代码七、可扩展性与与集成性示例代码......
  • mysql基于布尔的盲注,使用python脚本爆破
    使用python脚本,判断返回页面中是否包含成功的flag图片,爆破出来数据库中的内容,实现自动爆破importrequestsimporttimeurl="http://127.0.0.1/sqli-labs-master/Less-14/"payload={"uname":"","passwd":"123456","submit&q......
  • 加速Python的几种方法
    加速Python的几种方法前言注意以下内容均为本人主观操作感受,运行环境为Win10+python3.7_32位,仅供本人日后查阅众所周知,python是一门优美而简洁的编程语言,其最大的不足在于运行速度过于感人,而C语言作为最接近底层的高级语言,速度快是他最大的优势。python被誉为胶水语言,应该有办......
  • Python套索回归lasso、SCAD、LARS分析棒球运动员薪水3个实例合集|附数据代码
    全文链接:https://tecdat.cn/?p=35585原文出处:拓端数据部落公众号在数据科学和机器学习领域,回归分析是一种强大的工具,用于探索变量之间的关系并预测未来的结果。其中,套索回归(LassoRegression)是一种线性回归方法,特别适用于解决高维数据和过拟合问题。它通过引入正则化项来限制模......
  • Python命名规范
    ★类属性命名规范类属性通常采用大写字母、下划线分隔的方式命名,遵循以下规范:1.如果类属性是常量,通常使用全大写的字母表示,多个单词之间用下划线分隔,例如:MAX_SIZE。2.如果类属性表示一个布尔值或状态,通常使用is或has开头,例如:is_running、has_finished。3.如果类属性表示......
  • 10秒钟用python接入讯飞星火API(保姆级)
    正文:        科大讯飞是中国领先的人工智能公众公司,其讯飞星火API为开发者提供了丰富的接口和服务,以支持各种语音和语言技术的应用。步骤一:注册账号并创建应用首先,您需要访问科大讯飞开放平台官网,注册一个账号。注册完成后,登录账号,在控制台中创建一个新应用。创建......
  • Python控制安卓模拟器——uiautomator2模块
    Python控制安卓模拟器——uiautomator2模块目录Python控制安卓模拟器——uiautomator2模块介绍【1】安装python【2】安装adb1]下载[adb:[2]配置环境变量【3】安装uiautomator2【4】连接设备(安卓模拟器)【5】u2指令控制设备常用指令【6】安装weditor【7】元素操作元......
  • 就业班 第二阶段(python) 2401--4.2 day1 python初识
    一、Python语言介绍1、Python发展历史2、Python简介3、Python特点4、Python的能力二、Linux编译安装Python31、源码安装1、安装依赖软件包2、下载3、解压安装4、配置共享库文件5、测试python36、测试pip32、配置使用国内源安装第三方模块1、创建配置文件补充内容四、......
  • python变量和简单的数据类型[第 2 章(上)]
    2.1运行解释文件扩展名:结尾的.py用于指出文件内容是Python代码Python解释器:读取整个文件,确定其中每一行的含义并执行例如,当解释器看到print,就会将括号中的内容打印到屏幕上。语法高亮:用不同的颜色,区分出程序代码中的不同部分 2.2变量修改我们在上一章中写的代......