①一文带你斩杀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列表原生态的执行速度和效率


相关文章
|
16天前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
45 0
|
9天前
|
数据处理 Python
在数据科学领域,Pandas和NumPy是每位数据科学家和分析师的必备工具
在数据科学领域,Pandas和NumPy是每位数据科学家和分析师的必备工具。本文通过问题解答形式,深入探讨Pandas与NumPy的高级操作技巧,如复杂数据筛选、分组聚合、数组优化及协同工作,结合实战演练,助你提升数据处理能力和工作效率。
30 5
|
10天前
|
机器学习/深度学习 数据采集 数据挖掘
解锁 Python 数据分析新境界:Pandas 与 NumPy 高级技巧深度剖析
Pandas 和 NumPy 是 Python 中不可或缺的数据处理和分析工具。本文通过实际案例深入剖析了 Pandas 的数据清洗、NumPy 的数组运算、结合两者进行数据分析和特征工程,以及 Pandas 的时间序列处理功能。这些高级技巧能够帮助我们更高效、准确地处理和分析数据,为决策提供支持。
25 2
|
11天前
|
存储 数据采集 数据处理
效率与精准并重:掌握Pandas与NumPy高级特性,赋能数据科学项目
在数据科学领域,Pandas和NumPy是Python生态中处理数据的核心库。Pandas以其强大的DataFrame和Series结构,提供灵活的数据操作能力,特别适合数据的标签化和结构化处理。NumPy则以其高效的ndarray结构,支持快速的数值计算和线性代数运算。掌握两者的高级特性,如Pandas的groupby()和pivot_table(),以及NumPy的广播和向量化运算,能够显著提升数据处理速度和分析精度,为项目成功奠定基础。
23 2
|
16天前
|
存储 数据处理 Python
Python科学计算:NumPy与SciPy的高效数据处理与分析
【10月更文挑战第27天】在科学计算和数据分析领域,Python凭借简洁的语法和强大的库支持广受欢迎。NumPy和SciPy作为Python科学计算的两大基石,提供了高效的数据处理和分析工具。NumPy的核心功能是N维数组对象(ndarray),支持高效的大型数据集操作;SciPy则在此基础上提供了线性代数、信号处理、优化和统计分析等多种科学计算工具。结合使用NumPy和SciPy,可以显著提升数据处理和分析的效率,使Python成为科学计算和数据分析的首选语言。
26 3
|
17天前
|
存储 数据挖掘 数据处理
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第26天】Python 是数据分析领域的热门语言,Pandas 库以其高效的数据处理功能成为数据科学家的利器。本文介绍 Pandas 在数据读取、筛选、分组、转换和合并等方面的高效技巧,并通过示例代码展示其实际应用。
30 2
|
8天前
|
并行计算 数据挖掘 大数据
Python数据分析实战:利用Pandas处理大数据集
Python数据分析实战:利用Pandas处理大数据集
|
8天前
|
数据采集 数据可视化 数据挖掘
利用Python进行数据分析:Pandas库实战指南
利用Python进行数据分析:Pandas库实战指南
|
6月前
|
数据处理 Python
如何使用Python的Pandas库进行数据排序和排名
【4月更文挑战第22天】Pandas Python库提供数据排序和排名功能。使用`sort_values()`按列进行升序或降序排序,如`df.sort_values(by='A', ascending=False)`。`rank()`函数用于计算排名,如`df['A'].rank(ascending=False)`。多列操作可传入列名列表,如`df.sort_values(by=['A', 'B'], ascending=[True, False])`和分别对'A'、'B'列排名。
88 2
|
6月前
|
索引 Python
如何使用Python的Pandas库进行数据合并和拼接?
Pandas的`merge()`函数用于数据合并,如示例所示,根据'key'列对两个DataFrame执行内连接。`concat()`函数用于数据拼接,沿轴0(行)拼接两个DataFrame,并忽略原索引。
110 2

热门文章

最新文章