📜  python pandas 按索引删除列 - Python (1)

📅  最后修改于: 2023-12-03 15:34:03.136000             🧑  作者: Mango

Python Pandas 按索引删除列

Pandas是Python中用于数据处理和分析的强大库。在处理数据时,需要对数据进行清理和整理。在某些情况下,需要从数据集中删除某些列。在本文中,我们将介绍如何使用Pandas以及DataFrame对象的drop()方法来按照索引删除列。

1. 使用drop()方法按照索引删除列

drop()方法可以用于在Pandas DataFrame对象中删除行或列。可以在drop()方法中指定删除行或列的索引。我们可以传递一个单独的索引,也可以传递一个索引列表,以一次删除多个列。

import pandas as pd

# 创建一个DataFrame对象
data = {'Name': ['Tom', 'Jack', 'Steve', 'Ricky'],
        'Age': [28, 34, 29, 42],
        'Country': ['US', 'UK', 'US', 'UK']}

df = pd.DataFrame(data)

# 打印出DataFrame对象
print("Original DataFrame:")
print(df)

# 删除“Name”列
df.drop('Name', axis=1, inplace=True)

# 打印出修改后的DataFrame对象
print("\nModified DataFrame:")
print(df)
输出:
Original DataFrame:
    Name  Age Country
0    Tom   28      US
1   Jack   34      UK
2  Steve   29      US
3  Ricky   42      UK

Modified DataFrame:
   Age Country
0   28      US
1   34      UK
2   29      US
3   42      UK

在上面的代码中,我们创建了一个名为data的Python字典,用于创建DataFrame对象。我们打印出原始的DataFrame对象,然后使用drop()函数,传递“Name”字符串作为删除的索引,并指定从列中删除该索引。最后,我们打印出修改后的DataFrame对象,其中不包含“Name”列。

2. 一次删除多个列

我们可以使用drop()方法一次性删除多个列。在以下示例中,我们将删除“Name”和“Country”列。

import pandas as pd

# 创建一个DataFrame对象
data = {'Name': ['Tom', 'Jack', 'Steve', 'Ricky'],
        'Age': [28, 34, 29, 42],
        'Country': ['US', 'UK', 'US', 'UK']}

df = pd.DataFrame(data)

# 打印出原始DataFrame对象
print("Original DataFrame:")
print(df)

# 删除“Name”和“Country”列
df.drop(['Name', 'Country'], axis=1, inplace=True)

# 打印出修改后的DataFrame对象
print("\nModified DataFrame:")
print(df)
输出:
Original DataFrame:
    Name  Age Country
0    Tom   28      US
1   Jack   34      UK
2  Steve   29      US
3  Ricky   42      UK

Modified DataFrame:
   Age
0   28
1   34
2   29
3   42

在上面的代码中,我们创建了一个名为data的Python字典,用于创建DataFrame对象。我们打印出原始的DataFrame对象,然后使用drop()函数,传递[“Name”、“Country”]字符串作为删除的索引,并指定从列中删除该索引。最后,我们打印出修改后的DataFrame对象,其中仅包含“Age”列。

3. 指定索引位置删除列

如果我们要从特定的索引位置开始删除列,可以使用iloc属性。在以下示例中,我们将从第二列开始删除列。

import pandas as pd

# 创建一个DataFrame对象
data = {'Name': ['Tom', 'Jack', 'Steve', 'Ricky'],
        'Age': [28, 34, 29, 42],
        'Country': ['US', 'UK', 'US', 'UK']}

df = pd.DataFrame(data)

# 打印出原始DataFrame对象
print("Original DataFrame:")
print(df)

# 从第二列开始删除列
df.drop(df.columns[1:], axis=1, inplace=True)

# 打印出修改后的DataFrame对象
print("\nModified DataFrame:")
print(df)
输出:
Original DataFrame:
    Name  Age Country
0    Tom   28      US
1   Jack   34      UK
2  Steve   29      US
3  Ricky   42      UK

Modified DataFrame:
    Name
0    Tom
1   Jack
2  Steve
3  Ricky

在上面的代码中,我们创建了一个名为data的Python字典,用于创建DataFrame对象。我们打印出原始的DataFrame对象。然后使用iloc属性将删除索引从第二列开始的所有列。最后,我们打印出修改后的DataFrame对象,其中只包含第一列“Name”。

结论

在本文中,我们介绍了如何使用Pandas和DataFrame对象的drop()方法来按照索引删除列。这对于数据清洗和分析非常有用。希望这篇文章对你有所帮助。