📜  在 Pandas Dataframe 中使用 for 循环创建列(1)

📅  最后修改于: 2023-12-03 15:23:14.618000             🧑  作者: Mango

在 Pandas Dataframe 中使用 for 循环创建列

在 Pandas 中,我们可以使用 for 循环来创建新列。这在对数据进行计算或转换时非常有用,特别是当我们需要将结果存储在 Dataframe 中时。

准备工作

在使用 for 循环之前,我们需要先导入 Pandas,并创建一个数据集。以下是一个示例数据集,其中包含了一个名为 students 的 Dataframe,其中包含有学生的姓名和他们的成绩:

import pandas as pd

data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
    'score': [75, 82, 90, 88, 72]
}

students = pd.DataFrame(data)

现在我们可以开始使用 for 循环了。

创建新的列

假设我们想要将每个学生的分数乘以 2,然后将结果存储在一个新的列 score_doubled 中。以下是如何使用 for 循环来实现这个目标:

students['score_doubled'] = 0

for index, row in students.iterrows():
    students.loc[index, 'score_doubled'] = row['score'] * 2

在这个示例中,我们首先创建了一个名为 score_doubled 的新列,并将其初始化为 0。接下来,我们使用 iterrows() 函数迭代 Dataframe 的每一行,并在循环体内将每个学生成绩乘以 2,然后将结果存储回 Dataframe 中。

现在,我们可以查看 students Dataframe,以确保新的列已经被成功创建:

print(students)

输出:

      name  score  score_doubled
0    Alice     75            150
1      Bob     82            164
2  Charlie     90            180
3    David     88            176
4    Emily     72            144
总结

在 Pandas Dataframe 中使用 for 循环来创建新列是一个非常有用的技巧,特别是当需要对数据进行转换或计算时。在大多数情况下,使用 Pandas 的内置函数可能更高效,但是 for 循环通常更加灵活且易于理解。