如何使用Pandas操作数据

Pandas是一个强大的分析结构化数据的工具集;它的使用基础是Numpy(提供高性能的矩阵运算);用于数据挖掘和数据分析,同时也提供数据清洗功能。

一、数据结构

pandas的主要数据结构包括Series和DataFrame。

(1)Series

它是一种类似于一维数组的对象,是由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。仅由一组数据也可产生简单的Series对象。Series的字符串表现形式为:索引位于左边,数据位于右边:

如何使用Pandas操作数据

Pandas 的Series 类对象可以使用以下构造方法创建:

class pandas.Series (data = None ,index = None ,dtype = None ,name = None,copy = False ,fastpath = False)data:表示传入的数据。 index:表示索引,唯一且与数据长度相等,默认会自动创建一个从0~N 的整数索引。

如何使用Pandas操作数据

如何使用Pandas操作数据

如何使用Pandas操作数据

(2)DataFrame

如何使用Pandas操作数据

Pandas 的DataFrame类对象可以使用以下构造方法创建:pandas.DataFrame(data = None ,index = None ,columns = None ,dtype = None,copy = False )index:表示行标签。若不设置该参数,则默认会自动创建一个从0~N 的整数索引。columns:列标签。

1、通过传入数组来创建DataFrame 类对象:

如何使用Pandas操作数据

如何使用Pandas操作数据

要想为DataFrame 增加一列数据,则可以通过给列索引或者列名称赋值的方式实现。

增加No4 一列数据

df_obj [‘No4’] = [‘g’, ‘h ‘]

要想删除某一列数据,则可以使用del 语句实现。

删除No3 一列数据

del df_obj[‘No3 ‘]

二、索引对象

Pandas 中的索引都是Index类对象,又称为索引对象,该对象是不可以进行修改的,以保障数据的安全。Pandas 中提供了一个重要的方法是reindex(),该方法的作用是对原索引和新索引进行匹配,也就是说,新索引含有原索引的数据,而原索引数据按照新索引排序。

如果新索引中没有原索引数据,那么程序不仅不会报错,而且会添加新的索引,并将值填充为NaN 或者使用fill_vlues()填充其他值。

reindex()方法的语法格式如下:

DataFrame.reindex (labels = None ,index = None ,

columns = None ,axis = None ,method = None ,

copy = True ,level = None ,fill_value = nan ,limit = None ,tolerance = None )

index :用作索引的新序列。

method :插值填充方式

如果期望使用相邻的元素 值进 行填充,则可以使用 method 参 数 ,该 参 数对应的值有多 个。

fill_value :引入缺失值时使用的替代值。

limit :前向或者后向填充时的最大填充量。

如何使用Pandas操作数据

如果希望获取的是不连续的数据,则可以通过不连续索引来实现。

如何使用Pandas操作数据

布尔型索引同样适用于Pandas ,具体的用法跟数组的用法一样,将布尔型的数组索引作为模板筛选数据,返回与模板中True 位置对应的元素。

如何使用Pandas操作数据

DataFrame 结构既包含行索引,也包含列索引。其中,行索引是通过index 属性进行获取的,列索引是通过columns 属性进行获取的。Pandas 库中提供了操作索引的方法来访问数据,具体包括:loc :基于标签索引(索引名称),用于按标签选取数据。当执行切片操作时,既包含起始索引,也包含结束索引。

iloc :基于位置索引(整数索 引), 用于按位置选取数据。当执行切片操作时,只包含起始索引,不包含结束索引。

三、算术运算与数据对齐

如何使用Pandas操作数据

四、数据排序

Pandas 中按索引排序使用的是sort_index()方法,该方法可以用行索引或者列索引进行排序

如何使用Pandas操作数据

axis:轴索引,0 表示index (按行),1 表示columns (按列)。

level:若不为None ,则对指定索引级别的值进行排序。

ascending :是否升序排列,默认为 True 表示升序 。

1、按索引对 Series 进 行分别排序 , 示例 如 下。

2、按索引对DataFrame 进行分别排序,示例如下。

如何使用Pandas操作数据

3、Pandas 中用来按值排序的方法为sort_values(),该方法的语法格式如下。

如何使用Pandas操作数据

by 参数表示排序的列,na_position 参数只有两个值:first 和last ,若设为first ,则会将NaN 值放在开头;若设为False ,则会将NaN 值放在最后。

如何使用Pandas操作数据

在DataFrame 中,sort_values()方法可以根据一个或多个列中的值进行排序,但是需要在排序时,将一个或多个列的索引传递给by 参数才行。

如何使用Pandas操作数据

五、统计计算与描述

如何使用Pandas操作数据

如果希望一次性输出多个统计指标,则我们可以调用describe()方法实现,语法格式如下

如何使用Pandas操作数据

percentiles :输出中包含的百分数,位于[0,1]之间。如果不设置该参数,则默认为[0.25,0.5,0.75],返回25%,50%,75%分位数。

六、层次化索引

层次化索引可以理解为单层索引的延伸,即 在一个轴方向上具有多层索引。对于两层索引结构来说,它可以分为内层索引和外层索引。

如何使用Pandas操作数据

还可以通过MultiIndex 类的方法构建一个层次化索引,该类提供了3 种创建层次化索引的方法:

MultiIndex.from_tuples() :将元组列表转换为 MultiIndex 。

MultiIndex.from_arrays() :将数组列表转换为 MultiIndex 。

MultiIndex.from_product() :从多个集合的笛卡尔乘积中创建一个 MultiIndex 。

from_tuples() 方法可以将包含若干个元组的列表转换为 MultiIndex对象,其中元组的第一个元素作

from_arrays()方法是将数组列表转换为MultiIndex 对象,其中嵌套的第一个列表将作为外层索引,嵌套的第二个列表将作为内层索引。

from_product()方法表示从多个集合的笛卡尔乘积中创建一个MultiIndex 对象。

Original: https://blog.csdn.net/m0_66915748/article/details/123306806
Author: 久劫
Title: 如何使用Pandas操作数据

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/674183/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球