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

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


NumPy 的全称为 Numeric Python,它是 Python 的第三方扩展包,主要用来计算、处理一维或多维数组。

一、前言

  步入8月了,7月时因为项目所需,自学了深度学习相关的内容,现在已经把项目所需要的神经网络框架搭建起来了,输入输出也都归一化了,模拟误差也加上了,图像的参数提取和数据拟合也都做完了。开个新坑——
  本系列(《基于Python的数据分析大全》)是拜读了DataCamp撰写的 《Learn Python for Data Science Interactively》 (我个人把它译为《交互式学习 Python 数据科学》)有感而发,结合个人的理解编写的数据分析经验总结,旨在作为一本字典和速查手册,解决在数据分析时可能遇到的问题的实现思路和解决方法
  本文介绍的是 Numpy基础知识,全文皆用Python实现。所用代码上机调试都能运行,如果发现有问题请私信我并附上报错信息。


二、Numpy

  NumpyPython 数据科学计算和数据分析相关工作的核心库,提供了高性能的多维数组对象及处理数组的工具。
[数据分析大全]基于Python的数据分析大全——Numpy基础,数据分析,python,数据分析,numpy,数据挖掘
  我们可以使用以下语句导入 Numpy 库

import numpy as np

Numpy数组

[数据分析大全]基于Python的数据分析大全——Numpy基础,数据分析,python,数据分析,numpy,数据挖掘


二、创建数组

>>> a = np.array([1,2,3])
>>> b = np.array([(1.5,2,3), (4,5,6)], dtype = float)
>>> c = np.array([[(1.5,2,3), (4,5,6)], [(3,2,1), (4,5,6)]],
dtype = float)

初始化占位符

  以下介绍初始化占位符,主要包括:创建值为0数组、创建值为1数组、创建均匀间隔的数组(步进值)、创建均匀间隔的数组(样本数)、创建常数数组、创建2x2单位矩阵、创建随机值的数组和创建空数组的相关代码实现。

>>> np.zeros((3,4)) # 创建值为0数组
>>> np.ones((2,3,4),dtype=np.int16) # 创建值为1数组
>>> d = np.arange(10,25,5) # 创建均匀间隔的数组(步进值)

>>> np.linspace(0,2,9) # 创建均匀间隔的数组(样本数)

>>> e = np.full((2,2),7) # 创建常数数组 
>>> f = np.eye(2) # 创建2x2单位矩阵
>>> np.random.random((2,2)) # 创建随机值的数组
>>> np.empty((3,2)) # 创建空数组

三、输入、输出

3.1 保存与载入文本文件

>>> np.loadtxt("myfile.txt")
>>> np.genfromtxt("my_file.csv", delimiter=',')
>>> np.savetxt("myarray.txt", a, delimiter=" ")

3.2 保存与载入磁盘上的文件

>>> np.save('my_array', a)
>>> np.savez('array.npz', a, b)
>>> np.load('my_array.npy')

四、数据类型

  以下介绍数据类型,包括:带符号的64位整数、标准双精度浮点数、显示为128位浮点数的复数、布尔值:True值和False值、Python对象、固定长度字符串、固定长度Unicode

>>> np.int64 # 带符号的64位整数
>>> np.float32 # 标准双精度浮点数
>>> np.complex #显示为128位浮点数的复数
>>> np.bool # 布尔值:True值和False值
>>> np.object # Python对象
>>> np.string_ # 固定长度字符串
>>> np.unicode_ # 固定长度Unicode

五、数组信息

  以下介绍数组信息的查看方法代码实现,包括:数组形状、几行几列、数组长度、几维数组、数组有多少元素、数据类型、数据类型的名字、数据类型转换

>>> a.shape # 数组形状,几行几列
>>> len(a) # 数组长度
>>> b.ndim # 几维数组
>>> e.size # 数组有多少元素
>>> b.dtype # 数据类型
>>> b.dtype.name # 数据类型的名字
>>> b.astype(int) # 数据类型转换

六、调用帮助

>>> np.info(np.ndarray.dtype)

七、数组计算

7.1 算数运算

  以下介绍算数运算相关操作,主要包括:减法、减法另解、加法、加法、除法、除法、乘法、乘法另解、幂、平方根、正弦、余弦、自然对数、点积

# 减法
>>> g = a - b
array([[-0.5, 0. , 0. ],[-3. , -3. , -3. ]])

# 减法
>>> np.subtract(a,b)

# 加法
>>> b + a
array([[ 2.5, 4. , 6. ],[ 5. , 7. , 9. ]])
>>> np.add(b,a) # 加法

# 除法
>>> a / b
array([[ 0.66666667, 1. , 1. ],[ 0.25 , 0.4 , 0.5 ]])
>>> np.divide(a,b) # 除法

# 乘法
>>> a * b
array([[ 1.5, 4. , 9. ],[ 4. , 10. , 18. ]])
>>> np.multiply(a,b) # 乘法

# 幂
>>> np.exp(b)

# 平方根
>>> np.sqrt(b)

# 正弦
>>> np.sin(a)

# 余弦
>>> np.cos(b)

# 自然对数
>>> np.log(a)

# 点积
e.dot(f)
array([[ 7., 7.],[ 7., 7.]])

7.2 比较

  以下介绍比较的相关代码实现,主要包括:对比值、对比值另解、对比数组

# 对比值
>>> a == b
array([[False, True, True],[False, False, False]], dtype=bool)

# 对比值
>>> a < 2
array([True, False, False], dtype=bool)

# 对比数组
>>> np.array_equal(a, b)

7.3 聚集函数

  以下介绍聚集函数的相关代码实现,主要包括:数组汇总、数组最小值、数组最大值(按行操作)、数组元素的累加值、平均数、中位数、相关系数、标准差

>>> a.sum() # 数组汇总
>>> a.min() # 数组最小值
>>> b.max(axis=0) # 数组最大值,按行
>>> b.cumsum(axis=1) # 数组元素的累加值
>>> a.mean() # 平均数
>>> b.median() # 中位数
>>> a.corrcoef() # 相关系数
>>> np.std(b) # 标准差

八、数组复制

  以下介绍数组复制的相关代码实现,主要包括:使用同一数据创建数组视图、创建数组的副本、创建数组的深度拷贝

>>> h = a.view() # 使用同一数据创建数组视图
>>> np.copy(a) # 创建数组的副本
>>> h = a.copy() # 创建数组的深度拷贝

九、数组排序

  以下介绍数组排序的相关操作,主要包括:数组排序、以轴为依据对数组排序

>>> a.sort() # 数组排序
>>> c.sort(axis=0) # 以轴为依据对数组排序

十、子集、切片、索引相关实现

10.1 子集

[数据分析大全]基于Python的数据分析大全——Numpy基础,数据分析,python,数据分析,numpy,数据挖掘
  选择索引2对应的值:

>>> a[2]
3

[数据分析大全]基于Python的数据分析大全——Numpy基础,数据分析,python,数据分析,numpy,数据挖掘
  选择行1列2对应的值(等同于b[1][2]):

>>> b[1,2]
>6.0

10.2 切片

[数据分析大全]基于Python的数据分析大全——Numpy基础,数据分析,python,数据分析,numpy,数据挖掘
  选择索引为0与1对应的值:

>>> a[0:2]
array([1, 2])

[数据分析大全]基于Python的数据分析大全——Numpy基础,数据分析,python,数据分析,numpy,数据挖掘
  选择第1列中第0行、第1行的值:

>>> b[0:2,1]
array([ 2., 5.])

[数据分析大全]基于Python的数据分析大全——Numpy基础,数据分析,python,数据分析,numpy,数据挖掘
  选择第0行的所有值(等同于b[0:1,:1]:

>>> b[:1]
array([[1.5, 2., 3.]])

  等同于 [1,:,:]:

>>> c[1,...]
array([[[ 3., 2., 1.],[ 4., 5., 6.]]])

  反转数组a:

>>> a[ : :-1]
array([3, 2, 1])

10.3 条件索引

[数据分析大全]基于Python的数据分析大全——Numpy基础,数据分析,python,数据分析,numpy,数据挖掘
  选择数组a中所有小于2的值:

>>> a[a<2]
array([1])

10.4 花式索引

  选择(1,0),(0,1),(1,2) 和(0,0)所对应的值:

>>> b[[1, 0, 1, 0],[0, 1, 2, 0]]
array([ 4. , 2. , 6. , 1.5])

  选择矩阵的行列子集:

>>> b[[1, 0, 1, 0]][:,[0,1,2,0]]
array([[4.,5.,6.,4.],[1.5,2.,3.,1.5],[4.,5.,6.,4.] ,[1.5,2.,3.1.5]])

十一、数组操作

11.1 转置数组

>>> i = np.transpose(b) # 转置数组
>>> i.T # 转置数组

11.2 改变数组形状

  以下介绍改变数组形状的相关代码操作,主要包括:数组排序、以轴为依据对数组排序

>>> b.ravel() # 拉平数组
>>> g.reshape(3,-2) # 改变数组形状,但不改变数据

11.3 添加或删除值

  以下介绍添加或删除值的相关代码操作,主要包括:返回形状为(2,6)的新数组、追加数据、插入数据、删除数据

>>> h.resize((2,6)) # 返回形状为(2,6)的新数组
>>> np.append(h,g) # 追加数据
>>> np.insert(a, 1, 5) # 插入数据
>>> np.delete(a,[1]) # 删除数据

11.4 合并数组

  以下介绍合并数组的相关代码实现,主要包括:拼接数组、纵向以行的维度堆叠数组、纵向以行的维度堆叠数组、横向以列的维度堆叠数组、以列的维度创建堆叠数组

# 拼接数组
>>> np.concatenate((a,d),axis=0)
array([ 1, 2, 3, 10, 15, 20])

# 纵向以行的维度堆叠数组
>>> np.vstack((a,b))
array([[ 1. , 2. , 3. ],[ 1.5, 2. , 3. ],[ 4. , 5. , 6. ]])

# 纵向以行的维度堆叠数组
>>> np.r_[e,f]

# 横向以列的维度堆叠数组
>>> np.hstack((e,f))
array([[ 7., 7., 1., 0.],[ 7., 7., 0., 1.]])

# 以列的维度创建堆叠数组
>>> np.column_stack((a,d))
array([[ 1, 10],[ 2, 15],[ 3, 20]])

# 以列的维度创建堆叠数组
>>> np.c_[a,d]

11.5 分割数组

  以下介绍分割数组的相关代码实现举例,主要包括:纵向分割数组为3等份横向分割数组为2等份文章来源地址https://www.toymoban.com/news/detail-627794.html

# 纵向分割数组为3等份
>>> np.hsplit(a,3)
[array([1]),array([2]),array([3])]

# 横向分割数组为2等份
>>> np.vsplit(c,2)
[array([[[ 1.5, 2. , 1. ],[ 4. , 5. , 6. ]]]),
array([[[ 3., 2., 3.],[ 4., 5., 6.]]])]

到了这里,关于[数据分析大全]基于Python的数据分析大全——Numpy基础的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 基于Python的前程无忧、51job、智联招聘等招聘网站数据获取及数据分析可视化大全【代码+演示】

    职位标题 薪资 地区 工作年限要求 学历要求 发布时间 keyword pageNum jobRank 公司名称 公司类型 公司规模 行业 福利描述 HR标签 0 检具中级工程师(C) (MJ000656) 8千-1.2万·14薪 宣城 2年 大专 2023-12-08 04:00:38 c 1 0 上海保隆汽车科技股份有限公司 已上市 5000-10000人 汽车零配件 五险一

    2024年02月03日
    浏览(28)
  • 【数据分析 - 基础入门之NumPy③】日常难题解决

    本篇文章用于整理在学习 NumPy 过程中遇到的错误,以此做个记录,希望能帮助到大家,让大家少走弯路。 在通过 Anaconda Prompt 启动 Jupyter Notebook 时,输入 jupyter notebook 启动,报错如下。 报错内容 原因 Anaconda 为 Jupyter Notebook 配置了默认打开目录,如果要在其他目录打开 Jupy

    2024年02月13日
    浏览(31)
  • 数据分析-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日
    浏览(31)
  • 【100天精通Python】Day53:Python 数据分析_NumPy数据操作和分析进阶

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

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

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

    2024年02月12日
    浏览(40)
  • 【Python数据分析】numpy库的使用-上篇

    NumPy是一个用于科学计算的Python库,它提供了高性能的多维数组对象和用于处理这些数组的各种工具。NumPy的名称来自于“ Numerical Python ”的缩写。 NumPy的主要功能包括: 多维数组对象:NumPy提供了多维数组对象,称为 ndarray ,它是一个由同类型数据组成的表格。 ndarray 可以包

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

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

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

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

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

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

    2024年02月08日
    浏览(46)
  • 【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日
    浏览(28)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包