结合一维和二维的NumPy数组

yizhihongxing

NumPy是Python的一个常用科学计算库,提供了创建、处理多维数组的功能。其中,一维数组是最简单的数组,它可以看作是具有相同数据类型的一串数据集合。二维数组则是由多个一维数组组成的二维矩阵,它也被称作二维张量。结合一维和二维的NumPy数组,可以方便地进行数据处理和分析。下面将根据具体需求,给出一些处理步骤和示例说明。

创建数组

在NumPy中,可以使用numpy.array()函数来创建数组,其中可以指定数据类型dtype和数组形状shape。对于一维数组,只需指定数据的个数,即可创建,如:

import numpy as np

# 创建一维数组
arr1 = np.array([1, 2, 3, 4, 5])

对于二维数组,可以指定行数和列数,如:

# 创建二维数组
arr2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

也可以根据一维数组的形状来创建二维数组,如:

# 根据一维数组形状创建二维数组
arr3 = np.reshape(arr1, (5, 1))

访问数组元素

对于一维数组,可以使用下标访问数组元素,如:

# 访问一维数组
print(arr1[0])  # 输出1

对于二维数组,可以使用下标或者坐标访问数组元素,如:

# 访问二维数组
print(arr2[1, 2])  # 输出6,第1行第2列
print(arr2[0][1])  # 输出2,第0行第1列

数组运算

对于一维数组和二维数组,NumPy提供了一系列的运算方法。

数组加法

对于一维数组和二维数组,可以使用+号进行数组加法,如:

# 数组加法
arr4 = np.array([1, 2, 3])
arr5 = np.array([4, 5, 6])
arr6 = arr4 + arr5
print(arr6)  # 输出[5 7 9]

arr7 = np.array([[1, 2], [3, 4]])
arr8 = np.array([[5, 6], [7, 8]])
arr9 = arr7 + arr8
print(arr9)  # 输出[[ 6  8] [10 12]]

数组乘法

对于一维数组和二维数组,可以使用*号进行数组乘法,如:

# 数组乘法
arr10 = np.array([1, 2, 3])
arr11 = np.array([4, 5, 6])
arr12 = arr10 * arr11
print(arr12)  # 输出[ 4 10 18]

arr13 = np.array([[1, 2], [3, 4]])
arr14 = np.array([[5, 6], [7, 8]])
arr15 = arr13 * arr14
print(arr15)  # 输出[[ 5 12] [21 32]]

示例

示例1:

题目描述:给定一组数据x和y,需要求最小二乘法拟合出一条直线的系数。

数据样例:x=[1, 2, 3, 4, 5],y=[2.1, 3.2, 4.5, 5.3, 6.7]

处理步骤:

  1. 将x和y转换为NumPy数组,计算x和y的平均值。
import numpy as np

x = np.array([1, 2, 3, 4, 5])
y = np.array([2.1, 3.2, 4.5, 5.3, 6.7])
x_mean = np.mean(x)
y_mean = np.mean(y)
  1. 计算x和y的方差和协方差。
x_var = np.var(x)
y_var = np.var(y)
xy_cov = np.cov(x, y)[0, 1]
  1. 计算回归系数b0和b1。
b1 = xy_cov / x_var
b0 = y_mean - b1 * x_mean

最终结果:回归系数b0和b1分别为1.0000000000000007和1.4999999999999991。

示例2:

题目描述:给定一组检验样本和参考数据,需要求出检验样本和参考数据之间的平均误差和最大偏差。

数据样例:

ref = np.array([1.23, 1.45, 2.34, 3.76, 4.87])
tes = np.array([1.53, 1.76, 2.56, 4.37, 5.76])

处理步骤:

  1. 计算检验样本和参考数据的平均值。
ref_mean = np.mean(ref)
tes_mean = np.mean(tes)
  1. 计算误差数组和偏差数组。
err = tes - ref
dev = err / ref
  1. 计算平均误差和最大偏差。
ave_err = np.mean(err)
max_dev = np.max(dev)

最终结果:平均误差为0.3339999999999986,最大偏差为0.4057142857142849。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:结合一维和二维的NumPy数组 - Python技术站

(0)
上一篇 2023年3月25日
下一篇 2023年3月25日

相关文章

  • python实现进程间通信简单实例

    如果我们在Python中使用多进程,那么进程之间的通信必须使用IPC(Inter-Process Communication)机制。本文将以两个例子为例,介绍一些Python中的进程间通信方法。 1. 使用共享内存进行IPC 共享内存是两个进程之间通信的一种常见方式。通过指定共享内存的地址,进程可以读取和写入此内存区域并进行通信。下面是一个Using Pyt…

    python 2023年6月2日
    00
  • 18个帮你简化代码的Python技巧分享

    18个帮你简化代码的Python技巧分享 本文介绍18个Python技巧,旨在帮助程序员提高Python代码的可读性、简洁性和效率。 1. 列表推导式 列表推导式是Python中非常常用的一种构建列表的方法,可以用简洁的代码生成复杂的列表。以下是一个示例: nums = [1, 2, 3, 4, 5] squares = [num**2 for num in…

    python 2023年5月31日
    00
  • 三个python爬虫项目实例代码

    三个python爬虫项目实例代码完整攻略 项目简介 本项目是针对python爬虫初学者提供的三个实例爬虫代码,分别是: 爬取豆瓣图书TOP250的书籍信息 爬取天猫商城的商品信息及评论 爬取GitHub上的开源项目信息 每个项目的代码都包括了完整的数据爬取和存储代码,可以作为初学者进行学习和实践的完整资料。 项目目标 在三个不同的爬虫项目中,我们将能够学习到…

    python 2023年5月14日
    00
  • python中Scrapy shell的使用

    Scrapy是一个Python爬虫框架,可以帮助我们快速、高效地爬取网站数据。Scrapy shell是Scrapy框架提供的一个交互式命令行工具,可以帮助我们快速测试和调试爬虫。本文将详细讲解如何使用Scrapy shell,包括如何启动Scrapy shell、如何使用Scrapy shell测试XPath表达式和CSS选择器、如何使用Scrapy sh…

    python 2023年5月15日
    00
  • Python函数属性和PyC详解

    Python函数属性 Python中的函数是一种对象。和其他对象一样,每个函数都包含了一系列属性。下面介绍一些常见的函数属性。 __doc__ 函数的文档字符串。文档字符串应该要详细的解释函数的用途、参数含义、返回值以及其他相关信息。 __name__ 函数的名称。 __defaults__ 函数的默认参数。 __code__ 函数的代码对象。它包含了函数的…

    python 2023年5月14日
    00
  • python爬虫爬取幽默笑话网站

    Python爬虫爬取幽默笑话网站攻略 一、确定目标网站 首先需要决定要爬取的目标网站,以本次任务为例,我们选取了幽默笑话网站(http://www.laugh123.cn/)。 二、分析目标网页结构 在开始编写爬虫代码之前,需要分析目标网页的结构,确定需要收集哪些信息以及信息的位置。 例如,我们需要爬取的信息包括标题和内容,那么我们需要查看目标网页的源代码,…

    python 2023年5月14日
    00
  • Python重复单词写入outFile – 在哪里定义“i”

    【问题标题】:Python duplicate words written into an outFile – where to define “i”Python重复单词写入outFile – 在哪里定义“i” 【发布时间】:2023-04-02 18:34:01 【问题描述】: 如果这是问我问题的不正确方式,我深表歉意。这是我第一次在 Stack 上发帖。…

    Python开发 2023年4月8日
    00
  • Python多线程编程之多线程加锁操作示例

    下面是“Python多线程编程之多线程加锁操作示例”的完整攻略。 什么是多线程加锁操作? 多线程加锁操作是指在多线程编程中,通过使用锁的机制来避免出现资源竞争的现象,保证线程间的数据安全性和正确性。在多线程编程中常用的锁有线程锁、条件锁等。 为什么要进行多线程加锁操作? 在多线程编程过程中,多个线程同时访问一个共享的资源时,有可能会发生资源竞争的现象,比如多…

    python 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部