从Pandas DataFrame中删除一系列行

从Pandas DataFrame中删除一系列行

在Python中,使用pandas库代表数据以表格形式展示是广泛使用的。该数据集被排列成由行和列组成的2D矩阵。 pandas库提供了许多函数,可以通过提供有价值的数学见解来帮助程序员分析数据集。

表格数据结构称为数据帧,可以借助pandas DataFrame() 函数生成。在本文中,我们将执行一个简单的操作,即从Pandas数据帧中删除/删除多个行。

首先,我们必须准备数据集,然后借助pandas “DataFrame()” 函数生成数据帧。让我们开始吧。

更多Pandas相关文章,请阅读:Pandas 教程

准备数据集

从传递的数据集中获取的数据将以行和列的形式排列。

  • 这里,我们将pandas库作为“pd”导入。我们使用列表字典创建了数据集。

  • 每个键表示一个学生,它与表示不同科目得分的值列表相关联。

  • 然后,我们使用DataFrame()函数生成了一个数据帧。 我们未指定列名,但学生姓名自动获取此数据帧的列位置。 最重要的步骤是对数据帧索引进行标记。 我们通过传递由不同学科组成的值列表的列表来指定行名称。

举例

import pandas as pd
dataset = {"Aman":[98, 92, 88, 90, 91], "Raj":[78, 62, 90, 71, 45], "Saloni":[82, 52, 95, 98, 80],}
dataframe = pd.DataFrame(dataset,index=["Physics", "Chemistry", "Maths", "English", "Biology"])
print(dataframe)

输出

          Aman  Raj  Saloni
Physics    98   78     82
Chemistry  92   62     52
Maths      88   90     95
English    90   71     98
Biology    91   45     80

通过索引值删除行

为了删除行,我们将使用pandas“drop()”方法。 这是从数据框中删除行的有效且简单的方法。以下是此方法的语法。

dataframe.drop(labels=None, *, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')

我们不需要初始化 “drop”操作的所有参数(大部分默认值就足够了)。删除行有两种技术:

指定需要删除的每行的索引值。

举例

以下是此方法的实现。这里,

  • 创建数据帧后,我们使用drop()方法从数据帧中删除了第3和第4行。

  • 我们选择了存储在“dataframe”变量中的原始数据帧,并使用“dataframe.index[[]]”来锁定相应行的索引值以进行删除。

  • 创建了一个由其余行组成的新数据帧。

import pandas as pd
dataset = {"Aman":[98, 92, 88, 90, 91], "Raj":[78, 62, 90, 71, 45], "Saloni":[82, 52, 95, 98, 80],}
dataframe = pd.DataFrame(dataset,index=["Physics", "Chemistry", "Maths", "English", "Biology"])
print(dataframe)
Drop_dataframe = dataframe.drop(dataframe.index[[2, 3]])
print("删除第3和第4行后")
print(Drop_dataframe)

输出

           Aman  Raj  Saloni
Physics      98   78      82
Chemistry    92   62      52
Maths        88   90      95
English      90   71      98
Biology      91   45      80
去掉第三行和第四行后
           Aman  Raj  Saloni
Physics      98   78      82
Chemistry    92   62      52
Biology      91   45      80

通过标签或行名称删除行

在这种技术中,我们使用要从数据帧中删除的行(标签)的确切名称。 我们将再次使用drop()方法执行此技术。 现在,

  • 我们使用相同的drop()方法从数据框中删除第3和第4行,但是这次使用在构造数据框时标记的行名称。

  • 创建一个新的数据框,原始数据框保持不变。

示例

import pandas as pd
dataset = {"Aman":[98, 92, 88, 90, 91], "Raj":[78, 62, 90, 71, 45], "Saloni":[82, 52, 95, 98, 80],}
dataframe = pd.DataFrame(dataset,index=["Physics", "Chemistry", "Maths", "English", "Biology"])
print(dataframe)
Drop_dataframe = dataframe.drop(["Maths", "English"])
print("去掉第三行和第四行后")
print(Drop_dataframe)

输出

           Aman  Raj  Saloni
Physics      98   78      82
Chemistry    92   62      52
Maths        88   90      95
English      90   71      98
Biology      91   45      80
去掉第三行和第四行后
           Aman  Raj  Saloni
Physics      98   78      82
Chemistry    92   62      52
Biology      91   45      80

我们还可以包括“ inplace ”参数,如果不想创建另一个数据阵。该参数可以通过对其进行更改来修改当前数据帧。该参数的默认值为“ False ”。我们将 inplace 参数值设置为“ True ”。

使用索引切片

我们也可以使用索引切片删除行列表。以下是示例,

  • 在这里,我们切片了索引并创建了一个要删除行的范围。

  • 我们打印了原始数据框,然后使用“ dataframe.index[2:4] ”方法将范围从2到3设置为“dataframe.drop()”方法以删除这些行。

  • 最后,将创建一个新的数据框,其中包含剩余的行。

示例

import pandas as pd
dataset = {"Aman":[98, 92, 88, 90, 91], "Raj":[78, 62, 90, 71, 45], "Saloni":[82, 52, 95, 98, 80],}
dataframe = pd.DataFrame(dataset,index=["Physics", "Chemistry", "Maths", "English", "Biology"])
print(dataframe)
drop_dataframe = dataframe.drop(dataframe.index[2:4])
print("去掉第三行和第四行后")
print(drop_dataframe)

输出

            Aman  Raj  Saloni
Physics      98   78      82
Chemistry    92   62      52
Maths        88   90      95
English      90   71      98
Biology      91   45      80
去掉第三行和第四行后
             Aman  Raj  Saloni
Physics      98   78      82
Chemistry    92   62      52
Biology      91   45      80

结论

在本文中,我们介绍了pandas数据框的基础知识。 我们理解了从数据框中删除多个行的不同方法。 我们讨论了指定要删除的行的不同方法,即通过“ 索引值 ”和“ 行名称 ”。 最后,我们讨论了一种简单的索引切片方法。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程