为 DataFrame 列添加一列

2024 年 8 月 29 日 | 阅读 3 分钟

我们可以使用不同的方式为现有的 DataFrame 添加一列。 为了演示,首先,我们必须编写代码来读取现有文件,该文件由 DataFrame 中的某些列组成。

以上代码读取现有的 csv 文件,并将数据值列显示为输出。

输出

Name Hire Date Salary Leaves Remaining
0 John Idle 03/15/14 50000.0 10
1 Smith Gilliam 06/01/15 65000.0 8
2 Parker Chapman 05/12/14 45000.0 10
3 Jones Palin 11/01/13 70000.0 3
4 Terry Gilliam 08/12/14 48000.0 7
5 Michael Palin 05/23/13 66000.0 8

使用 [] 运算符向 DataFrame 添加新列

如果我们要添加任何新列在表的末尾,我们必须使用 [] 运算符。 让我们向 "aa" csv 文件中添加一个名为 "Age" 的新列。

此代码在 aa csv 文件的末尾添加了一列“Age”。 因此,添加一列后的新表格将如下所示

    Name           Hire Date    Salary    Leaves Remaining  Age
0  John Idle        03/15/14    50000.0     10              24
1  Smith Gilliam    06/01/15    65000.0     8               24 
2  Parker Chapman   05/12/14    45000.0     10              24
3  Jones Palin      11/01/13    70000.0     3               24
4  Terry Gilliam    08/12/14    48000.0     7               24
5  Michael Palin    05/23/13    66000.0     8               24

在上面的代码中,Age 值定义了通用值,这意味着它的值对所有行都是通用的。 如果我们指定一个不存在的列名,Pandas 将抛出错误。

例如

在上面的代码中,Pandas 将抛出错误,因为 Designation 列不存在。

但是,如果我们为该列分配一个值,Pandas 将在表的末尾自动生成一个新列。

使用 insert() 在 DataFrame 中添加新列

我们还可以使用名为 insert 的方法在现有 DataFrame 中的任何位置添加一列。

为了演示,首先,我们必须编写代码来读取现有文件,该文件由 DataFrame 中的某些列组成。

以上代码读取现有的 csv 文件,并在输出中显示数据值列。

输出

    Name           Hire Date   Salary    Leaves Remaining
0  John Idle       03/15/14    50000.0    10
1  Smith Gilliam   06/01/15    65000.0    8
2  Parker Chapman  05/12/14    45000.0    10
3  Jones Palin     11/01/13    70000.0    3
4  Terry Gilliam   08/12/14    48000.0    7
5  Michael Palin   05/23/13    66000.0    8

让我们使用 insert 方法向现有的 "aa" csv 文件中添加一个名为 "Department" 的新列。

输出

   Name            Hire Date   Department   Salary    Leaves Remaining
0  John Idle       03/15/14     B.Sc        50000.0    10
1  Smith Gilliam   06/01/15     B.Sc        65000.0    8
2  Parker Chapman  05/12/14     B.Sc        45000.0    10
3  Jones Palin     11/01/13     B.Sc        70000.0    3
4  Terry Gilliam   08/12/14     B.Sc        48000.0    7
5  Michael Palin   05/23/13     B.Sc        66000.0    8