Pandas 保留DataFrame中的特定列,删除其他所有列

Pandas 保留DataFrame中的特定列,删除其他所有列

在本文中,我们将介绍如何使用Pandas库删除DataFrame中的所有列,只保留其中特定的一些列。Pandas是一个强大的数据分析工具,可以帮助我们轻松处理数据,有助于进行数据清理和探索性分析。

阅读更多:Pandas 教程

1. 选择并保留特定列

为了保留DataFrame中的特定列,我们需要使用Pandas中的loc方法。该方法用于按标签选择行和列。

下面是一个例子,我们只保留一个包含身高、体重和性别的DataFrame中的身高和性别列:

import pandas as pd

# 构建DataFrame
data = {'Height': [175, 168, 180, 160],
        'Weight': [70, 60, 80, 45],
        'Gender': ['Male', 'Female', 'Male', 'Female']}

df = pd.DataFrame(data)

# 保留Height和Gender列
df = df.loc[:, ['Height', 'Gender']]

print(df)

输出结果为:

   Height  Gender
0     175    Male
1     168  Female
2     180    Male
3     160  Female

在上面的例子中,我们使用了loc方法来保留HeightGender列,通过指定列名作为loc方法的第二个参数。

2. 删除所有其他列

在保留特定列之后,我们需要删除所有其他的列。为了做到这一点,我们只需使用Pandas的drop方法即可,该方法可以删除DataFrame中的某些行或列。

下面是一个例子,我们保留一个包含身高、体重和性别的DataFrame中的身高和性别列,并删除其他所有列:

import pandas as pd

# 构建DataFrame
data = {'Height': [175, 168, 180, 160],
        'Weight': [70, 60, 80, 45],
        'Gender': ['Male', 'Female', 'Male', 'Female']}

df = pd.DataFrame(data)

# 保留Height和Gender列
df = df.loc[:, ['Height', 'Gender']]

# 删除其他所有列
df = df.drop(df.columns.difference(['Height', 'Gender']), axis=1)

print(df)

输出结果为:

   Height  Gender
0     175    Male
1     168  Female
2     180    Male
3     160  Female

在上面的例子中,我们使用drop方法来删除所有其他列,通过columns.difference方法指定要保留的列,并使用axis=1参数来指定删除列。

3. 使用列的索引

除了使用列名之外,我们还可以使用列的索引来选择和保留特定列。列索引是一个与列名相对应的整数,按顺序从0开始。

下面是一个例子,我们使用列的索引来保留一个包含身高、体重和性别的DataFrame中的身高和性别列:

import pandas as pd

# 构建DataFrame
data = {'Height': [175, 168, 180, 160],
        'Weight': [70, 60, 80, 45],
        'Gender': ['Male', 'Female', 'Male', 'Female']}

df = pd.DataFrame(data)

# 保留Height和Gender列
df = df.iloc[:, [0, 2]]

print(df)

输出结果为:

   Height  Gender
0     175    Male
1     168  Female
2     180    Male
3     160  Female

在上面的例子中,我们使用了iloc方法来选择列的索引,通过指定要保留的列的索引作为iloc方法的第二个参数。

4. 移动列

在Pandas中,我们还可以使用pop方法来移动列。pop方法用于按列名称删除列并返回删除的列,可以将返回的列添加到DataFrame中的任何位置。

下面是一个例子,在一个包含身高、体重和性别的DataFrame中,我们将Gender列移动到第一列:

import pandas as pd

# 构建DataFrame
data = {'Height': [175, 168, 180, 160],
        'Weight': [70, 60, 80, 45],
        'Gender': ['Male', 'Female', 'Male', 'Female']}

df = pd.DataFrame(data)

# 将Gender列移动到第一列
gender = df.pop('Gender')
df.insert(0, 'Gender', gender)

print(df)

输出结果为:

   Gender  Height  Weight
0    Male     175      70
1  Female     168      60
2    Male     180      80
3  Female     160      45

在上面的例子中,我们使用pop方法删除Gender列并将其返回,然后使用insert方法将其插入到所需位置。

5. 对列进行重命名

有时我们需要对列进行重命名,可以使用rename方法来实现。

下面是一个例子,在一个包含身高、体重和性别的DataFrame中,我们将Height列重命名为Height_cm:

import pandas as pd

# 构建DataFrame
data = {'Height': [175, 168, 180, 160],
        'Weight': [70, 60, 80, 45],
        'Gender': ['Male', 'Female', 'Male', 'Female']}

df = pd.DataFrame(data)

# 将Height列重命名为Height_cm
df = df.rename(columns={'Height': 'Height_cm'})

print(df)

输出结果为:

   Height_cm  Weight  Gender
0        175      70    Male
1        168      60  Female
2        180      80    Male
3        160      45  Female

在上面的例子中,我们使用rename方法来重命名Height列,通过一个包含列名映射的字典作为columns参数传递。

总结

本文介绍了如何使用Pandas库保留DataFrame中的特定列,删除所有其他列。我们学习了如何使用lociloc方法选择和保留特定列,如何使用drop方法删除所有其他列,如何使用pop方法移动列,以及如何使用rename方法重命名列。使用这些方法,我们可以轻松地处理和处理数据,使数据分析更加高效。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程