Pandas教程-向DataFrame列中添加列
我们可以使用不同的方法向现有的DataFrame中添加新列。为了演示,首先我们需要编写一段代码来读取现有的文件,该文件包含一个DataFrame中的一些列。
import pandas as pd
aa = pd.read_csv("aa.csv")
aa.head()
上述代码读取现有的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”的新列。
import pandas as pd
aa = pd.read_csv("aa.csv")
aa["Age"] = "24"
aa.head()
这段代码在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将引发错误。
例如:
aa["Designation"]
在上面的代码中,Pandas将引发错误,因为Designation列不存在。
但是,如果我们为该列分配一个值,Pandas将在表的末尾自动生成一个新列。
使用insert()在DataFrame中添加新列
我们还可以使用名为insert的方法在现有DataFrame的任何位置添加新列。
为了演示,首先我们必须编写一段代码来读取包含DataFrame中一些列的现有文件。
import pandas as pd
aa = pd.read_csv("aa.csv")
aa.head()s
上述代码读取现有的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方法将一个名为“Department”的新列添加到现有的aa csv文件中。
import pandas as pd
aa = pd.read_csv("aa.csv")
aa.insert(2, column = "Department", value = "B.Sc")
aa.head()
输出
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