①一文带你斩杀Python之Numpy☀️Pandas全部操作【全网最详细】❗❗❗

简介: 一文带你斩杀Python之Numpy☀️Pandas全部操作【全网最详细】❗❗❗

Numpy简介

Numpy专门针对ndarray的操作和运算进行了设计,所以数组的存储效率和输入输出性能远优于Python中的嵌套列表,数组越大,Numpy的优势就越明显。Numpy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。据说NumPy将Python相当于变成一种免费的更强大的MATLAB系统。

ndarray中的所有元素的类型都是相同的,而Python列表中的元素类型是任意的,所以ndarray在存储元素时内存可以连续,而python原生lis就t只能通过寻址方式找到下一个元素,这虽然也导致了在通用性能方面Numpy的ndarray不及Python原生list,但在科学计算中,Numpy的ndarray就可以省掉很多循环语句,代码使用方面比Python原生list简单的多。


总的来说,在科学计算和大数据的处理上面,numpy的优势远远超过了原生态的Python内置方法,正所谓“工欲善其事必先利其器”,任何一门工程学科的发现和精进,都离不开各种软件的升级和迭代。


Numpy操作集合

1、不同维度数据的表示

1.1 一维数据的表示

# 列表
[1,2,'a',4]

在Python中,最为常见的数据类型就是列表,列表是一维的数据,同时也是我们处理数据的常见集装箱。


image.png


在anaconda里面的jupyter notebook里面,我们直接使用pip安装这一个库,一般的anaconda会自带numpy这一个第三方库。


在使用numpy的时候,首先要引入这一个第三方库,使用:import numpy as np即可,便于为我们后面的方法属性调用。


在构造最为基本的numpy数据时,我们使用numpy的array()方法,里面就是一个列表形式的,可以是多维数组,最终构造成:ndarray类型


image.png

image.png




# 集合
set([1,'a',3,4]) #集合的元素唯一且无序
# 元组
tuple([1,'a',3,4])#元组的元素不可变

对于Python里面的常见的几种数据类型:字符串、元组、列表、字典、集合,重点需要注意的是字符串和元组是不可修改的,但是可以通过索引来组合和切断这些元素,例如:


image.png


我们发现,元组是不可以修改的,但是我们的列表却可以


image.png


那么就会有小伙伴疑问了,那么不可修改,怎么办!我们可以通过下面的方法:


直接在同一个元组上更新是不可行的,但是可以通过拷贝现有的元组片段构造一个新的元组的方式解决。


通过分片的方法让元组拆分成两部分,然后再使用连接操作符(+)合并成一个新元组,最后将原来的变量名(temp)指向连接好的新元组。在这里就要注意了,逗号是必须的,小括号也是必须的!


temp = ('小鸡','小狗','小猪')
temp = temp[:2] + ('小猴子',) + temp[2:]
print(temp)
('小鸡', '小狗', '小猴子', '小猪')

删除元组中的元素:对于元组是不可变的原则来说,单独删除一个元素是不可能的,当然你可以利用切片的方式更新元组,间接的删除一个元素。


 

temp = ('小鸡','小狗','小猪')
    temp = temp[:1] + temp[2:]
    print(temp)
    ('小鸡', '小猪')

在日常中很少用del去删除整个元组,因为Python的回收机制会在这个元组不再被使用的时候自动删除。如果整个删除那么就会报错!!!


1.2 二维数据的表示


image.png

最简单的方法就是使用列表进行二维数组的创建,那么如果我们不使用这种方法,我们应该如何去做呢?


image.png


答案是:numpy的array()


我们也可以将一个numpy装换为dataframe类型,也就是我们的二维数据表


image.png

image.png




我们使用Python里面的最强大的pandas库,进行处理,构造一个二维数组,使用pandas里面的column方法,对数组的标签进行自定义。


1.3 三维数据的表示


image.png

如何去理解这个维度呢?首先我们知道任何一个数组都是需要一个[]进行包裹的,其实最为简单的判断方法就是看[]的个数,从左到右,数一下,三个,那么就是三维数组,简单粗暴但是言简意赅。


image.png


其实从数据表里面我们可以看出,如果需要组成这样二维单独的数据表,那么就是二维数据,在单元的数据表中,仍然存在数组的嵌套,那么就是维度的+1


2、 为什么要使用Numpy

2.1、Numpy的ndarray具有广播功能

查看版本


image.png


np.array?


可以查看官方的解释,同时我们也可以使用np.info(np.array)对方法进行查看和学习


image.png

image.png



有时候我们需要产生一个特定范围的的数组,而且我们希望数据是平均的分配,这个时候我们我们就可以使用numpy的linspace()方法了,它的功能就是产生一个特定平均份数的一维数组。


np.linspace(start,end,count):注意它会将开始元素和末尾的元素都取到,然后按照count份数进行分割


np.empty(行,列):也就是产生特定的维度,多少行和列的数组


image.png


q = np.array([1,2,3,4],dtype=np.complex128)   
print("数据类型",type(q))           #打印数组数据类型  
print("数组元素数据类型:",q.dtype) #打印数组元素数据类型  
print("数组元素总数:",q.size)      #打印数组尺寸,即数组元素总数  
print("数组形状:",q.shape)         #打印数组形状  
print("数组的维度数目",q.ndim)      #打印数组的维度数目

初学者总是把这些属性记成了方法,注意我们的属性是没有()的


2.2 Numpy数组的性能比Python原生数据类型高

image.png


通过这个例子,我们可以看到numpy的效率远远高于我们的list列表原生态的执行速度和效率


相关文章
|
1天前
|
Python
python pandas学习(一)
该代码段展示了四个主要操作:1) 删除指定列名,如商品id;2) 使用正则表达式模糊匹配并删除列,例如匹配订单商品名称1的列;3) 将毫秒级时间戳转换为带有时区调整的日期时间格式,并增加8小时以适应本地时区;4) 将列表转换为DataFrame后保存为Excel文件,文件路径和名称根据变量拼接而成。
12 3
|
1月前
|
存储 数据挖掘 数据处理
Python Pandas入门:行与列快速上手与优化技巧
Pandas是Python中强大的数据分析库,广泛应用于数据科学和数据分析领域。本文为初学者介绍Pandas的基本操作,包括安装、创建DataFrame、行与列的操作及优化技巧。通过实例讲解如何选择、添加、删除行与列,并提供链式操作、向量化处理、索引优化等高效使用Pandas的建议,帮助用户在实际工作中更便捷地处理数据。
47 2
|
3月前
|
数据采集 数据可视化 数据处理
Python数据科学:Pandas库入门与实践
Python数据科学:Pandas库入门与实践
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
Python数据科学实战:从Pandas到机器学习
Python数据科学实战:从Pandas到机器学习
|
3月前
|
数据采集 数据可视化 数据挖掘
Python数据分析:Pandas库实战指南
Python数据分析:Pandas库实战指南
|
3月前
|
并行计算 数据挖掘 大数据
Python数据分析实战:利用Pandas处理大数据集
Python数据分析实战:利用Pandas处理大数据集
|
3月前
|
数据采集 数据可视化 数据挖掘
利用Python进行数据分析:Pandas库实战指南
利用Python进行数据分析:Pandas库实战指南
|
5月前
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
148 1
|
6月前
|
机器学习/深度学习 数据处理 计算机视觉
NumPy实践宝典:Python高手教你如何轻松玩转数据处理!
【8月更文挑战第22天】NumPy是Python科学计算的核心库,专长于大型数组与矩阵运算,并提供了丰富的数学函数。首先需安装NumPy (`pip install numpy`)。之后可通过创建数组、索引与切片、执行数学与逻辑运算、变换数组形状及类型、计算统计量和进行矩阵运算等操作来实践学习。NumPy的应用范围广泛,从基础的数据处理到图像处理都能胜任,是数据科学领域的必备工具。
80 0
|
3月前
|
存储 数据处理 Python
Python科学计算:NumPy与SciPy的高效数据处理与分析
【10月更文挑战第27天】在科学计算和数据分析领域,Python凭借简洁的语法和强大的库支持广受欢迎。NumPy和SciPy作为Python科学计算的两大基石,提供了高效的数据处理和分析工具。NumPy的核心功能是N维数组对象(ndarray),支持高效的大型数据集操作;SciPy则在此基础上提供了线性代数、信号处理、优化和统计分析等多种科学计算工具。结合使用NumPy和SciPy,可以显著提升数据处理和分析的效率,使Python成为科学计算和数据分析的首选语言。
117 3

热门文章

最新文章

推荐镜像

更多