Pandas.DataFrame删除指定行和列(drop)的实现

1. Pandas.DataFrame删除指定行和列(drop)的实现

Pandas是一个用于数据处理和分析的Python库。它提供了一种高效、灵活和快速的方式来操作数据,尤其是在处理大型数据集时。Pandas的DataFrame是一种二维数据结构,类似于电子表格或SQL表。在数据处理过程中,有时我们需要删除DataFrame中的特定行和列。本文将详细介绍Pandas中如何删除指定行和列。

1.1 删除指定行

要删除Pandas DataFrame中的特定行,我们可以使用DataFrame的drop()方法。该方法接受一个或多个行索引,然后返回一个新的DataFrame,其中不包含指定的行。

以下是删除指定行的示例代码:

import pandas as pd

# 创建DataFrame

data = {'Name': ['Tom', 'Nick', 'John', 'Alice'],

'Age': [25, 28, 30, 35],

'City': ['New York', 'London', 'Paris', 'Tokyo']}

df = pd.DataFrame(data)

# 删除指定行

df_new = df.drop([1, 3])

print(df_new)

上述代码中,我们首先创建了一个包含姓名、年龄和城市信息的DataFrame。然后使用drop()方法删除索引为1和3的行。最后打印新的DataFrame,可以看到指定的行已被删除。

重要:使用drop()方法删除行时,原始DataFrame不会被修改,而是返回一个新的DataFrame。

1.2 删除指定列

要删除DataFrame中的指定列,我们可以使用drop()方法的axis参数。axis参数用于指定要删除的轴,0表示删除行,1表示删除列。

以下是删除指定列的示例代码:

import pandas as pd

# 创建DataFrame

data = {'Name': ['Tom', 'Nick', 'John', 'Alice'],

'Age': [25, 28, 30, 35],

'City': ['New York', 'London', 'Paris', 'Tokyo']}

df = pd.DataFrame(data)

# 删除指定列

df_new = df.drop(['Age'], axis=1)

print(df_new)

上述代码中,我们创建了一个包含姓名、年龄和城市信息的DataFrame。然后使用drop()方法的axis参数将'Age'列从DataFrame中删除。最后打印新的DataFrame,可以看到指定的列已被删除。

1.3 删除多行或多列

要删除多个行或多个列,我们只需在drop()方法中提供一个包含行或列索引的列表。

以下是删除多行和多列的示例代码:

import pandas as pd

# 创建DataFrame

data = {'Name': ['Tom', 'Nick', 'John', 'Alice'],

'Age': [25, 28, 30, 35],

'City': ['New York', 'London', 'Paris', 'Tokyo']}

df = pd.DataFrame(data)

# 删除多行

df_new1 = df.drop([0, 2])

# 删除多列

df_new2 = df.drop(['Age', 'City'], axis=1)

print(df_new1)

print(df_new2)

上述代码中,我们首先创建了一个包含姓名、年龄和城市信息的DataFrame。然后使用drop()方法删除索引为0和2的行,以及'Age'和'City'列。最后打印新的DataFrame,可以看到指定的行和列已被删除。

1.4 修改原始DataFrame

如果我们想要在原始DataFrame上直接删除指定行或列,而不是创建一个新的DataFrame,可以使用inplace参数。

以下是修改原始DataFrame的示例代码:

import pandas as pd

# 创建DataFrame

data = {'Name': ['Tom', 'Nick', 'John', 'Alice'],

'Age': [25, 28, 30, 35],

'City': ['New York', 'London', 'Paris', 'Tokyo']}

df = pd.DataFrame(data)

# 修改原始DataFrame(删除指定行)

df.drop([0, 2], inplace=True)

print(df)

上述代码中,我们首先创建了一个包含姓名、年龄和城市信息的DataFrame。然后使用drop()方法删除索引为0和2的行,并将inplace参数设置为True。最后打印修改后的DataFrame,可以看到指定的行已被删除。

重要:使用inplace参数修改原始DataFrame时,无需再将返回值赋给新的变量,原始DataFrame直接修改。

2. 总结

本文介绍了如何使用Pandas来删除DataFrame中的指定行和列。通过drop()方法,我们可以灵活地操作DataFrame的数据,实现快速的数据处理和分析。需要注意的是,drop()方法返回一个新的DataFrame,在删除行或列时,原始DataFrame不会被修改。如果需在原始DataFrame上直接删除指定行或列,可以使用inplace参数。

通过本文的介绍,我们能够更加熟练地使用Pandas进行数据处理,并能在实际的数据分析工作中运用这些技巧。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签