数据分析从0到1----Numpy篇(一)

简介: 数据分析从0到1----Numpy篇

前言

本文只适用于已经了解如何使用jupyter的选手,因此如果不知道或者不了解jupyter的使用,那么应该先学一下.本文主要用于指导新手入门了解各种函数的使用,具体函数的使用方法可以寻找一些其他资料或者查看下方我贴出的官方文档,本文所有代码基于Anaconda5.3.0版本

Anaconda5.3.0下载

Matplotlib篇

Pandas篇

什么是Numpy(Numerical Python)?

Numpy-API

全文代码下载

  • 是一个开源的Python科学计算库
  • 使用Numpy可以方便的使用数组,矩阵进行计算
  • 包含线性代数,傅里叶变换,随机数生成等大量函数

对于统一的数值计算任务,使用Numpy比直接使用Python代码实现,有以下优点:

  • 代码更简洁:Numpy直接以数组、矩阵为粒度计算并且支撑大量的数学函数,而python需要用for循环从底层实现;
  • 性能更高效: Numpy的数组存储效率和输入输出计算性能,比Python使用List或者嵌套List好很多;
    注:Numpy的数据存储和Python原生的List是不一样的
    注:Numpy的大部分代码都是C语言实现的,这是Numpy比纯Python代码高效的原因

Numpy是Python各种数据科学类库的基础库

比如: Scipy,Scikit-Learn、TensorFlow,pandas等

下面用一份代码测试原生Python代码和numpy的速度

可以看到这个速度差距有近百倍,其实这也就是因为numpy的底层是C,而C的速度一般为Python速度的100-200倍.

Numpy ndarray对象

Numpy-narray

NumPy定义了一个n 维数组对象,简称ndarray对象,它是一个一系列相同类型元素组成的数组集合。数组中的每个元素都占有大小相同的内存块。

ndarray 对象采用了数组的索引机制,将数组中的每个元素映射到内存块上,并且按照一定的布局对内存块进行排列(行或列)。

使用numpy可以快速的创建n维数组

array

array(object, dtype=None, copy=True, order=‘K’, subok=False, ndmin=0)

arange

arange([start,] stop[, step,], dtype=None)

根据start与stop指定的范围以及step设定的步长,生成一个ndarray.

linspace

linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

返回在间隔[开始,停止]上计算的num个均匀间隔的样本。数组由一个等差数列构成。

logspace

logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None)

返回在间隔[开始,停止]上计算的num个均匀间隔的样本,数组是一个等比数列构成.

zeros/ones

zeros(shape, dtype=float, order=‘C’)
ones(shape, dtype=None, order=‘C’)

创建一份全为0/1的由shape指定维度的数组

Numpy的数组属性

Numpy的数组中比较重要的ndarray对象属性有

  • 1:ndarray.shape ndarray对象的维度
    返回一个包含数组维度的元组,对于矩阵,n行m列,它也可以用于调整数组维度

    reshape(shape, order=‘C’)
    将原有的数组的维度修改为新的shape定义的维度,要求原有的数组内的数据量必须等于reshape内参数相乘后的积,否则报错

    resize(a, new_shape)
    如果新数组大于原数组,则新数组将填充a的重复副本,此行为与a.resize(new_shape)不同,后者用0而不是重复的a填充.
  • 2:ndarray.ndim ndarray对象的稚
  • 3:ndarray.size ndarray对象的数据个数
  • 4:ndarray.dtype ndarray对象的元素类型

astype(dtype, order=‘K’, casting=‘unsafe’, subok=True, copy=True)

返回修改后的数据类型

  • 5:ndarray.itemsize 返回数组中每个数据类型所占用的字节数

切片与索引


相关文章
|
1月前
|
机器学习/深度学习 数据采集 数据挖掘
解锁 Python 数据分析新境界:Pandas 与 NumPy 高级技巧深度剖析
Pandas 和 NumPy 是 Python 中不可或缺的数据处理和分析工具。本文通过实际案例深入剖析了 Pandas 的数据清洗、NumPy 的数组运算、结合两者进行数据分析和特征工程,以及 Pandas 的时间序列处理功能。这些高级技巧能够帮助我们更高效、准确地处理和分析数据,为决策提供支持。
49 2
|
2月前
|
数据采集 数据挖掘 API
Python数据分析加速器:深度挖掘Pandas与NumPy的高级功能
在Python数据分析的世界里,Pandas和NumPy无疑是两颗璀璨的明星,它们为数据科学家和工程师提供了强大而灵活的工具集,用于处理、分析和探索数据。今天,我们将一起深入探索这两个库的高级功能,看看它们如何成为数据分析的加速器。
50 1
|
2月前
|
数据挖掘 索引 Python
Python数据分析篇--NumPy--进阶
Python数据分析篇--NumPy--进阶
23 0
|
2月前
|
数据挖掘 索引 Python
Python数据分析篇--NumPy--入门
Python数据分析篇--NumPy--入门
44 0
|
4月前
|
数据采集 数据挖掘 数据处理
Python数据分析:Numpy、Pandas高级
在上一篇博文中,我们介绍了Python数据分析中NumPy和Pandas的基础知识。本文将深入探讨NumPy和Pandas的高级功能,并通过一个综合详细的例子展示这些高级功能的应用。
|
4月前
|
数据采集 数据挖掘 数据处理
Python数据分析:Numpy、Pandas基础
本文详细介绍了 Python 中两个重要的数据分析库 NumPy 和 Pandas 的基础知识,并通过一个综合的示例展示了如何使用这些库进行数据处理和分析。希望通过本篇博文,能更好地理解和掌握 NumPy 和 Pandas 的基本用法,为后续的数据分析工作打下坚实的基础。
|
5月前
|
机器学习/深度学习 数据采集 数据挖掘
解锁 Python 数据分析新境界:Pandas 与 NumPy 高级技巧深度剖析
【7月更文挑战第12天】Python的Pandas和NumPy库助力高效数据处理。Pandas用于数据清洗,如填充缺失值和转换类型;NumPy则擅长数组运算,如元素级加法和矩阵乘法。结合两者,可做复杂数据分析和特征工程,如产品平均销售额计算及销售额标准化。Pandas的时间序列功能,如移动平均计算,进一步增强分析能力。掌握这两者高级技巧,能提升数据分析质量和效率。
66 4
|
5月前
|
数据采集 机器学习/深度学习 数据可视化
了解数据科学面试中的Python数据分析重点,包括Pandas(DataFrame)、NumPy(ndarray)和Matplotlib(图表绘制)。
【7月更文挑战第5天】了解数据科学面试中的Python数据分析重点,包括Pandas(DataFrame)、NumPy(ndarray)和Matplotlib(图表绘制)。数据预处理涉及缺失值(dropna(), fillna())和异常值处理。使用describe()进行统计分析,通过Matplotlib和Seaborn绘图。回归和分类分析用到Scikit-learn,如LinearRegression和RandomForestClassifier。
112 3
|
5月前
|
数据采集 数据可视化 数据挖掘
数据分析入门:用Python和Numpy探索音乐流行趋势
数据分析入门:用Python和Numpy探索音乐流行趋势
|
5月前
|
数据采集 数据挖掘 数据处理
Python数据分析加速器:深度挖掘Pandas与NumPy的高级功能
【7月更文挑战第14天】Python的Pandas和NumPy库是数据分析的核心工具。Pandas以其高效的数据处理能力,如分组操作和自定义函数应用,简化了数据清洗和转换。NumPy则以其多维数组和广播机制实现快速数值计算。两者协同工作,如在DataFrame与NumPy数组间转换进行预处理,提升了数据分析的效率和精度。掌握这两者的高级功能是提升数据科学技能的关键。**
59 0

热门文章

最新文章