Pandas 如何为数据框添加常数列
在本文中,我们将介绍如何使用Pandas为数据框添加常数列,并提供示例说明。
首先,打开一个数据框:
import pandas as pd
df = pd.read_csv("data.csv")
现在我们有一个数据框,下一步是添加常数列。
阅读更多:Pandas 教程
方法一:使用.loc将常数列添加到末尾
我们可以使用.loc
方法将常数列添加到数据框的末尾。以下是示例代码:
df.loc[:, "new_column"] = 1
这将在数据框的末尾添加一个新列“new_column”,并将所有行的值设置为1。
为了演示这个方法,假设我们有一个名为people
的数据框:
import pandas as pd
people = pd.DataFrame({
"name": ["Alice", "Bob", "Cathy", "Dave"],
"age": [25, 32, 18, 47],
"salary": [5000, 8000, 3000, 10000]
})
现在我们想要为所有行添加一个常数“1”,并将其存储在名为“is_employee”的新列中。以下是代码:
people.loc[:, "is_employee"] = 1
这将让我们的数据框看起来像这样:
name age salary is_employee
0 Alice 25 5000 1
1 Bob 32 8000 1
2 Cathy 18 3000 1
3 Dave 47 10000 1
方法二:使用.assign将常数列添加到任意位置
如果我们想要将常数列添加到数据框中的任意位置,我们可以使用.assign
方法。以下是示例代码:
df = df.assign(new_column=1)
这将在数据框中添加一个新列“new_column”,并将所有行的值设置为1。
为了演示这个方法,让我们继续使用上一个例子,并将常数列添加到people
数据框的第一个位置。以下是代码:
people = people.assign(is_employee=1)
people = people[["is_employee", "name", "age", "salary"]]
这会将新列添加到数据框的第一个位置,如下所示:
is_employee name age salary
0 1 Alice 25 5000
1 1 Bob 32 8000
2 1 Cathy 18 3000
3 1 Dave 47 10000
方法三:使用insert方法将常数列添加到任意位置
如果我们想要更明确地指定常数列所在的位置,并且不想重新排列现有列,我们可以使用.insert
方法。以下是示例代码:
df.insert(loc=2, column="new_column", value=1)
这会将新列添加到数据框中的第三列位置,如下所示:
column1 column2 new_column column3
0 1 0 1 0
1 2 1 1 1
2 3 0 1 0
3 4 1 1 1
这里,我们将常数列添加到了第三列的位置。
总结
在本文中,我们介绍了三种方法将常数列添加到Pandas数据框中。.loc
方法可以将常数列添加到数据框的末尾,.assign
方法可以将常数列添加到数据框的任意位置,.insert
方法可以将常数列添加到数据框的指定位置。这些方法都非常简单易用,希望我们的示例能够帮助你了解这些方法并应用它们到你的工作中。