Pandas 将指定列提取到新的DataFrame中作为副本

您所在的位置:网站首页 怎么把其中一个表格单独保存 Pandas 将指定列提取到新的DataFrame中作为副本

Pandas 将指定列提取到新的DataFrame中作为副本

2024-07-02 15:54| 来源: 网络整理| 查看: 265

Pandas 将指定列提取到新的DataFrame中作为副本

在本文中,我们将介绍如何使用Pandas将指定的列提取并创建一个新的DataFrame,使得我们可以随意修改这个新DataFrame,而原始的DataFrame不会受到影响。

阅读更多:Pandas 教程

1. 提取单个列

我们可以使用Pandas的DataFrame对象中的[]操作符来提取单个列。例如,让我们考虑一个具有以下数据列的DataFrame:

Name Age Country John 25 USA Sally 32 Canada Tim 18 UK

要提取“Age”列并将其存储在另一个DataFrame中,我们可以执行以下代码:

import pandas as pd data = {'Name':['John', 'Sally', 'Tim'], 'Age':[25, 32, 18], 'Country':['USA', 'Canada', 'UK']} df = pd.DataFrame(data) age_df = df[['Age']].copy()

执行结果将是一个只包含“Age”列的新DataFrame,即age_df:

Age 25 32 18

请注意,我们必须使用copy()方法来创建新的DataFrame副本,以免更改原始DataFrame。

2. 提取多个列

要提取多个列,我们可以使用与提取单个列相同的[]操作符,并将列名列表作为参数传递。例如,让我们考虑以下DataFrame,其中包含以下数据列:

Name Age Country Gender John 25 USA M Sally 32 Canada F Tim 18 UK M

要提取“Age”和“Gender”列并将它们存储在另一个DataFrame中,我们可以执行以下代码:

age_gender_df = df[['Age','Gender']].copy()

结果将是一个只包含“Age”和“Gender”列的新DataFrame,即age_gender_df:

Age Gender 25 M 32 F 18 M 3. 提取连续的列

要提取连续的列,我们可以使用loc或iloc属性。例如,让我们考虑以下DataFrame,其中包含以下数据列:

Name Age Country Gender John 25 USA M Sally 32 Canada F Tim 18 UK M

要提取从“Age”列到“Gender”列之间的所有列,我们可以使用以下代码:

age_to_gender_df = df.loc[:, 'Age':'Gender'].copy()

结果将是一个只包含从“Age”到“Gender”(包括这两列)的新DataFrame,即age_to_gender_df:

Age Country Gender 25 USA M 32 Canada F 18 UK M

请注意,在使用loc方法时,我们必须指定所有我们想要包含在新DataFrame中的列名称范围,并使用:来表示所有行。

4. 取消副本要求

如果我们只想在原始DataFrame中操作特定列的值,就不需要创建新的DataFrame副本。我们可以直接对特定列进行操作并将结果存储回原始DataFrame中。例如:

df['Age'] = df['Age'] + 5

这将使每个人的年龄加上5岁。

总结

在Pandas中,我们可以轻松地从现有的DataFrame中提取特定列,以创建一个新的DataFrame副本。我们还可以使用loc或iloc属性来提取连续的列。如果只需要在原始DataFrame中对特定列进行操作,则无需创建副本。这样,我们可以更轻松地管理我们的数据,并对其进行必要的处理。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3