
Python数据科学
文章平均质量分 86
以Python常用的数据科学库,如NumPy、Pandas、Matplotlib、Plotly、SciPy、Scikit-learn、PyTorch等的介绍为主线,穿插进行数据科学的概念、原理、算法的介绍,以期构建实用可落地的数据科学能力体系
南宫理的日知录
左手人文,双手科技
展开
-
「Python数据科学」NumPy多维数组的保存与加载
本文介介绍了将NumPy中的多维数组进行保存和加载的方法,我们可以通过pickle进行保存和修改,也可以通过np.save()和np.load()进行保存和修改。需要保存为文本格式,可以使用np.savetxt()和np.loadtxt()。保存多个数组,可以使用np.savez()。数据量比较大时,可以考虑HDF5文件。原创 2025-01-03 12:30:00 · 410 阅读 · 0 评论 -
「Python数据科学」利用NumPy通用函数ufunc进行面向数组编程
本文首先简单回顾了ndarray、向量化、广播的相关内容。然后,介绍了基于NumPy中的核心特性:ndarray、向量化、广播,以及ufunc实现面向数组编程的方法。最后介绍了内置ufunc的使用,以及如何自定义ufunc的3种方法。原创 2025-01-03 08:19:00 · 735 阅读 · 0 评论 -
「Python数据科学」一文搞定NumPy中常用的数组拼接与切分方法
本文简单介绍了NumPy中相对常用的数组拼接和拆分的函数,最灵活常用的就是np.concatenate()函数了,当然,如果是进行二维数组的数据的拼接,np.vstack()和np.hstack()也是挺常用的。在进行数组拆分和拼接操作时,只要对轴的概念比较理解,一般都不会有太大的问题。原创 2024-12-25 16:41:50 · 583 阅读 · 0 评论 -
「Python数据科学」标量、向量、矩阵、张量与多维数组的辨析
本文简单辨析了标量、向量、矩阵和张量这几个术语的含义,标量、向量和矩阵可以看作是特殊的张量。所有的张量,在Python、NumPy、PyTorch中,底层可以理解为都是以多维数组的形成进行实现。原创 2024-12-25 08:50:35 · 1075 阅读 · 0 评论 -
「Python数据科学」一文搞懂NumPy中的广播机制
本文首先介绍了NumPy中element-by-element的基本原理,引出了广播机制,然后介绍了NumPy中广播的触发规则,其间,通过代码及示意图的方式演示了广播的执行过程。最后总结了广播机制的优势以及在使用中需要注意的事项。原创 2024-12-20 16:28:32 · 818 阅读 · 0 评论 -
「Python数据科学」ndarray的统计运算与“轴”的使用
本文简单介绍了NumPy中支持的四类统计相关的函数,分别是:顺序相关的统计函数、均值方差相关的统计函数、相关性相关的统计函数、分布相关的统计函数。同时介绍了轴的概念以及按照轴axis进行统计的不同。最后介绍了argmax()和argmin()函数的使用。原创 2024-12-20 11:12:13 · 863 阅读 · 0 评论 -
「Python数据科学」ndarray的逻辑运算与更灵活的数据筛选
本文简单介绍了NumPy支持的比较常用的逻辑运算,包括比较运算、逻辑运算符、三元运算,以及any和all的语义。基于这些操作的组合,就可以实现比较灵活的数组元素的筛选了。原创 2024-12-18 12:45:00 · 882 阅读 · 0 评论 -
「Python数据科学」NumPy数组的3种运算类型
本文按照运算的操作数的类型,将NumPy数组的运算分为:形状相同的数组的运算、数组与标量的运算、不同形状的数组的运算。NumPy数组的运算,其实是基于向量化的机制来实现的,所以数组运算,可以不用写循环代码,代码可读性和效率都较高。原创 2024-12-18 08:35:01 · 382 阅读 · 0 评论 -
「Python数据科学」多维数组ndarray对象重塑的常用方法
本文介绍了常见的对多维数组ndarray进行形状重塑的方法,其中:reshape()默认会返回新的视图,原始数据不变,但是需要保证形状兼容;resize()直接修改原始数组的形状,可能会修改原数据;flattern()返回一个新的拉平的数组,不共享原始数据;ravel()则返回扁平化的视图,共享数据。此外,flat属性,是一个对原始数组进行扁平化访问的迭代器,可以对原始数组直接进行遍历、读取、修改等。原创 2024-12-16 15:34:42 · 883 阅读 · 0 评论 -
「Python数据科学」ndarray对象的内部机理与数据存储顺序
本文首先介绍了ndarray对象的内部机理,理解了其元数据和原始数组的构成,并引出了0拷贝视图机制的基础strides步进属性。最后介绍了关于数组数据存储顺序的两种方式,并通过C指针验证了不同视图下的原始数组存储顺序不变的特性。原创 2024-12-16 09:27:55 · 1231 阅读 · 0 评论 -
「Python数据科学」NumPy切片与newaxis的结合,实现更灵活的操作
本文对NumPy中的切片操作进行了相应的扩展,同时引入newaxis常量和Ellipsis对象的概念,介绍了NumPy中关于轴的概念,以及升维与切片组合实现更加复杂的切片需求的实现。原创 2024-12-12 13:33:32 · 618 阅读 · 0 评论 -
「Python数据科学」NumPy多维数组的索引与切片
本文简单介绍了NumPy多维数组的索引和切片的相关内容,包括:基本索引方式、基本切片方式、整型数组的切片方式、布尔数组的切片方式等。同时,对比Python原生列表的索引和切片,指出了NumPy多维数组的索引和切片需要特别注意的数据截断和切片视图机制。原创 2024-12-12 09:16:28 · 983 阅读 · 0 评论 -
「Python数据科学」多维数组长啥样?ndarray的核心属性来帮忙
本文分别介绍了多维数组ndarray对象中的shape、dtype、ndim、size、itemsize、nbytes、T等属性。并对各个属性的含义及用法通过代码进行了演示说明。需要指出的是,shape和dtype是最核心的两个属性,其他属性均可以基于这两个属性进行计算推导。原创 2024-12-06 10:15:00 · 673 阅读 · 0 评论 -
「Python数据科学」一文掌握NumPy创建ndarray的常用方法
本文分别介绍了基于Python原生的序列创建NumPy数组、基于已存在的NumPy数组创建新的NumPy数组、NumPy内部函数创建特定数组、从磁盘数据创建NumPy数组和使用其他Python数据科学库的库函数创建NumPy数组的方法。原创 2024-12-06 06:45:00 · 1184 阅读 · 0 评论 -
「Python数据科学」对比Python的对象内存结构,分析NumPy的高性能
本文简单介绍了Python中对象的内存结构,对比了C语言数组、NumPy数组,以及Python列表存储相同数组的情况下的内存结构,从内存结构的差异上,可以看出Python为了支持灵活性和易用性,在性能上所作出的妥协。最后,通过代码简单比较了NumPy和Python列表的计算性能。原创 2024-12-04 15:07:31 · 595 阅读 · 0 评论 -
「Python数据科学」为什么说NumPy是必学的核心基础库
本文简单介绍了NumPy是什么,以及为什么从事数据科学的开发与研究,有必要花时间认真学习NumPy的高效使用,介绍了NumPy的一些核心特性,并通过代码着重演示了向量化和广播两个特性。希望通过这些内容的介绍,能够对NumPy有个全局性的认识,在后续的文章中将对NumPy的使用进行逐一介绍。原创 2024-12-04 10:28:45 · 748 阅读 · 0 评论 -
「Python数据科学」先利其器:Jupyter Notebook的简明教程
本文简单介绍了什么是Jupyter Notebook,相较于IDE,它有哪些优势。最后介绍了Jupyter Notebook的安装、启动,以及最常用的一些快捷操作。如果有Vim的使用经验,相信对Jupyter Notebook两种模式,以及命令模式中的快捷操作会有很多的熟悉感。最后,工具的学习,还是要反复实践。原创 2024-12-02 12:15:00 · 686 阅读 · 0 评论 -
「Python数据科学」数据科学的概念及Python常用数据科学库
本文简单介绍了数据科学的含义,强调了“跨学科”的特性;介绍了数据科学的主要工作内容;最后介绍了Python中常用的数据科学的库。需要说明的是,应当将数据科学作为一项具有加乘作用的新能力,而非一门新的学科。原创 2024-12-02 06:15:00 · 785 阅读 · 0 评论