【Python数据分析】numpy库的使用-上篇

这篇具有很好参考价值的文章主要介绍了【Python数据分析】numpy库的使用-上篇。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

numpy介绍

NumPy是一个用于科学计算的Python库,它提供了高性能的多维数组对象和用于处理这些数组的各种工具。NumPy的名称来自于“Numerical Python”的缩写。

NumPy的主要功能包括:

  • 多维数组对象:NumPy提供了多维数组对象,称为ndarray,它是一个由同类型数据组成的表格。ndarray可以包含整数、浮点数等多种数据类型,并支持基本的数学运算和数组操作。

  • 数组操作:NumPy提供了很多数组操作函数,包括数组索引、切片、拼接、分割等,可以方便地对数组进行操作和处理。

  • 线性代数:NumPy提供了线性代数相关的函数,如矩阵乘法、矩阵分解、求解线性方程组等。

  • 随机数生成:NumPy提供了各种随机数生成函数,如正态分布、均匀分布等,可以方便地生成随机数序列。

  • 傅里叶变换:NumPy提供了傅里叶变换相关的函数,可以方便地进行信号处理和图像处理等任务。

由于NumPy提供了高性能的数组操作和数学函数,因此被广泛应用于科学计算、数据分析、机器学习等领域。

在使用numpy之前务必确保已经下载安装了numpy库,如果未安装,请在控制台输入如下命令。

pip install numpy

numpy创建数组

下面介绍NumPy创建数组的几个函数,可以根据需要选择合适的函数创建数组。

  1. array():创建一个数组,可以接受一个序列或嵌套序列作为输入。
import numpy as np

arr = np.array([1, 2, 3])
print(arr)  # 输出 [1 2 3]
  1. zeros():创建一个元素全为0的数组。
import numpy as np

arr = np.zeros((3, 4))
print(arr)  # 输出 [[0. 0. 0. 0.]
            #      [0. 0. 0. 0.]
            #      [0. 0. 0. 0.]]

  1. ones():创建一个元素全为1的数组。
import numpy as np

arr = np.ones((2, 3))
print(arr)  # 输出 [[1. 1. 1.]
            #      [1. 1. 1.]]

  1. empty():创建一个未初始化的数组,元素的值不确定。
import numpy as np

arr = np.empty((2, 3))
print(arr)  # 输出 [[4.67296746e-307 6.90583476e-310 1.69759663e-307]
            #      [1.69109977e-306 7.56595733e-307 1.37961302e-306]]

  1. arange():创建一个一维数组,其中的元素是指定范围内的整数。
import numpy as np

arr = np.arange(10)
print(arr)  # 输出 [0 1 2 3 4 5 6 7 8 9]

  1. linspace():创建一个一维数组,其中的元素是在指定范围内均匀分布的数值。
import numpy as np

arr = np.linspace(0, 1, 5)
print(arr)  # 输出 [0.   0.25 0.5  0.75 1.  ]

numpy创建数组的属性

以下是NumPy数组的几个常用属性,可以使用这些属性来获取数组的形状、维度、元素个数和数据类型等信息。

  1. shape:返回一个元组,表示数组的形状,即每个维度上的元素个数。
import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr.shape)  # 输出 (2, 3)

  1. ndim:返回一个整数,表示数组的维度数。
import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr.ndim)  # 输出 2

  1. size:返回一个整数,表示数组中的元素总数。
import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr.size)  # 输出 6

  1. dtype:返回一个描述数组中元素类型的对象。
import numpy as np

arr = np.array([1, 2, 3], dtype=float)
print(arr.dtype)  # 输出 float64

  1. itemsize:返回一个整数,表示数组中每个元素的字节大小。
import numpy as np

arr = np.array([1, 2, 3], dtype=float)
print(arr.itemsize)  # 输出 8

  1. nbytes:返回一个整数,表示数组中所有元素所占用的字节数。
import numpy as np

arr = np.array([1, 2, 3], dtype=float)
print(arr.nbytes)  # 输出 24

numpy数组运算

  1. 数组与标量的运算:可以对数组中的每个元素执行加、减、乘、除等运算。
import numpy as np

arr = np.array([1, 2, 3])
arr = arr + 1
print(arr)  # 输出 [2 3 4]

  1. 数组间的运算:可以对两个数组进行加、减、乘、除等运算,要求两个数组的形状相同。
import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
arr3 = arr1 + arr2
print(arr3)  # 输出 [5 7 9]

  1. 数组的逻辑运算:可以对数组中的每个元素进行逻辑运算,并返回一个布尔类型的数组。
import numpy as np

arr = np.array([1, 2, 3])
arr2 = arr > 2
print(arr2)  # 输出 [False False True]

  1. 数组的广播运算:可以对形状不同的数组进行运算,系统会自动将数组进行扩展以满足运算要求。
import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([[4], [5], [6]])
arr3 = arr1 * arr2
print(arr3)  # 输出 [[ 4  8 12]
             #      [ 5 10 15]
             #      [ 6 12 18]]

  1. 数组的统计运算:可以对数组中的元素进行统计计算,如求和、均值、标准差等。
import numpy as np

arr = np.array([1, 2, 3])
sum = arr.sum()
mean = arr.mean()
std = arr.std()
print(sum, mean, std)  # 输出 6 2.0 0.816496580927726

numpy数组索引和切片

以下是NumPy数组的一些常见索引和切片操作,可以根据需要选择合适的方式来访问数组中的元素。

  1. 数组的索引:可以使用索引来访问数组中的单个元素。
import numpy as np

arr = np.array([1, 2, 3])
print(arr[0])  # 输出 1

  1. 多维数组的索引:可以使用多个索引来访问多维数组中的单个元素。
import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr[0, 1])  # 输出 2

  1. 数组的切片:可以使用切片来访问数组中的多个元素。
import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(arr[1:4])  # 输出 [2 3 4]

  1. 多维数组的切片:可以使用多个切片来访问多维数组中的多个元素。
import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr[:2, 1:])  # 输出 [[2 3]
                    #      [5 6]]

  1. 数组的花式索引:可以使用数组索引来访问数组中的多个元素。
import numpy as np

arr = np.array([1, 2, 3, 4, 5])
idx = np.array([1, 3])
print(arr[idx])  # 输出 [2 4]

numpy数组的形状变换

NumPy提供了reshape()函数来改变数组的形状,常用于将数组从一种形状转换为另一种形状。
下面我们一起看看如何使用。

  1. 将一维数组转换为二维数组
    可以使用reshape()函数将一维数组转换为二维数组,其中第一个参数表示新数组的行数,第二个参数表示新数组的列数。
import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6])
new_arr = arr.reshape(2, 3)
print(new_arr)
# 输出
# [[1 2 3]
#  [4 5 6]]
  1. 将多维数组转换为一维数组
    可以使用reshape()函数将多维数组转换为一维数组,其中可以只指定一维的大小,而将其余维度用-1表示,这样NumPy会自动计算出新数组的大小。
import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
new_arr = arr.reshape(-1)
print(new_arr)
# 输出 [1 2 3 4 5 6]

  1. 将数组扁平化为一维数组
    可以使用ravel()函数将多维数组扁平化为一维数组,这个函数会返回一个新的一维数组,不会修改原始数组。
import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
new_arr = arr.ravel()
print(new_arr)
# 输出 [1 2 3 4 5 6]

  1. 更改数组的维数
    可以使用reshape()函数来更改数组的维数,其中可以指定-1来表示NumPy需要自动计算出新数组的大小。
import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
new_arr = arr.reshape(3, -1)
print(new_arr)
# 输出
# [[1 2]
#  [3 4]
#  [5 6]]

以上是python中numpy库的一个基础使用,下一篇会介绍numpy的其他使用方法。如果你对numpy感兴趣,不妨点个赞和收藏支持一下。

同时欢迎大家订阅专栏python-数据分析,其中有numpy库的具体使用方法。文章来源地址https://www.toymoban.com/news/detail-462767.html

到了这里,关于【Python数据分析】numpy库的使用-上篇的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [数据分析大全]基于Python的数据分析大全——Numpy基础

    NumPy 的全称为 Numeric Python,它是 Python 的第三方扩展包,主要用来计算、处理一维或多维数组。   步入8月了,7月时因为项目所需,自学了 深度学习 相关的内容,现在 已经把项目所需要的神经网络框架搭建起来了,输入输出也都归一化了,模拟误差也加上了,图像的参数

    2024年02月14日
    浏览(65)
  • 数据分析-python学习 (1)numpy相关

    内容为:https://juejin.cn/book/7240731597035864121的学习笔记 numpy数组创建 创建全0数组,正态分布、随机数组等就不说了,提供了相应的方法 通过已有数据创建有两种 arr1=np.array([1,2,3,4,5]) 或者data=np.loadtxt(‘C:/Users/000001_all.csv’,dtype=‘float’,delimiter=‘,’,skiprows=1) (data=np.genfromtxt(‘

    2024年02月13日
    浏览(42)
  • 【100天精通Python】Day53:Python 数据分析_NumPy数据操作和分析进阶

    目录 1. 广播  2 文件输入和输出 3 随机数生成 4 线性代数操作  5 进阶操作

    2024年02月09日
    浏览(67)
  • 银行营销数据分析---Python(numpy、pandas、matplotlib)

    数据来源:kaggle银行营销数据 工具:Python、Jupyter Notebook 本项目采取的是kaggle银行营销的数据源,主要是预测客户是否会订购银行的产品,但是,这次我将 使用numpy、pandas、matplotlib数据分析三件套,基于源数据,深入分析影响银行三大业务—存款、贷款、营销产品的因素 ,

    2024年02月07日
    浏览(58)
  • 【Python爬虫与数据分析】NumPy进阶——数组操作与运算

    目录 一、NumPy数组操作 1. ndarray更改形状 2. ndarray转置 3. ndarray组合 4. ndarray拆分 5. ndarray排序 二、NumPy数组运算 1. 基本运算 2. 逻辑函数 3. 数学函数 三、日期时间的表示和间隔 1. 日期时间的表示——datetime64 2. 日期时间的计算——timedelta64 3. datetime64与datetime的转换 在对数组进

    2024年02月15日
    浏览(49)
  • python数据分析学习笔记之matplotlib、numpy、pandas

    为了学习机器学习,在此先学习以下数据分析的matplotlib,numpy,pandas,主要是为自己的学习做个记录,如有不会的可以随时查阅。希望大家可以一起学习共同进步,我们最终都可以说:功不唐捐,玉汝于成。就算遇到困难也不要气馁,大声说:我不怕,我敏而好学!! 把大量

    2024年02月08日
    浏览(59)
  • 【Python爬虫与数据分析】NumPy初阶——数组创建与访问

    目录 一、NumPy概述 二、NumPy数据类型 三、创建数组 1. numpy.array函数创建数组 2. np.arange创建数组 3. numpy.random.rand创建数组 4. numpy.random.randint创建数组 5. NumPy创建特殊数组 四、数组的属性 五、NumPy数组索引与切片 NumPy(Numerical Python的简称)是一个开源的Python科学计算库,用于对

    2024年02月13日
    浏览(52)
  • python-数据分析-numpy、pandas、matplotlib的常用方法

    输出方式不同 里面包含的元素类型 使用 索引/切片 访问ndarray元素 切片 左闭右开 np.array(list) np.arange() np.random.randn() - - - 服从标准正态分布- - - 数学期望 μ - - - 标准方差 s 使用matplotlib.pyplot模块验证标准正态分布 np.random.randint(起始数,终止数(行,列)) 数据分析 - - - 数据清洗

    2024年02月10日
    浏览(99)
  • 基于python requests库的bilibili爬虫简单尝试以及数据分析及可视化

    在初步了解了关于爬虫的课程之后,我也进行了一些自己的尝试。本文将从“爬取BiliBili Vtuber区直播信息为切入点,来探讨requests, re等库的基础应用。在爬取信息之后,本文将通过matplotlib以及pandas库做数据分析以及可视化 首先,我们先确认任务:打开Bilibili,在直播分区中选

    2024年02月05日
    浏览(42)
  • 【数据分析 - 基础入门之NumPy②】Jupyter Notebook安装及使用

    大家好,我是向阳花花花花,本期给大家带来的是 Jupyter Notebook安装及使用。作者的 【 Python 数据分析】专栏正在火热更新中,如果本文对您有帮助,欢迎大家点赞 + 评论 + 收藏 ! 每日金句分享: 慢也好,步伐小也罢,是往前走就好。』—— 佚名「网易云音乐热评」 。 话

    2024年02月12日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包