Pandas 在满足条件的情况下更新行值
在本文中,我们将介绍如何在 Pandas 数据框(DataFrame)中满足特定条件时更新行值。
阅读更多:Pandas 教程
Pandas数据框(DataFrame)
Pandas 是一个强大的数据处理工具,它提供了强大的数据框DataFrame来处理各种大小的数据集。DataFrames由行和列组成,类似于电子表格。
以下是一个 Pandas 数据框的示例:
| Name | Age | Gender | Salary |
|---|---|---|---|
| John Smith | 24 | Male | 45000 |
| Jane Doe | 28 | Female | 55000 |
| Joseph Lee | 32 | Male | 75000 |
如何用 Pandas 更改满足特定条件时的行值?
当您使用 Pandas 时,有时您需要根据特定条件更改数据框中的值。这可以通过将条件直接应用于数据框并使用 loc 函数来实现。
以下是更改示例。假设我们想增加所有 30 岁以上的员工的薪水5,000美元:
import pandas as pd
data = {'Name': ['John Smith', 'Jane Doe', 'Joseph Lee'],
'Age': [24, 28, 32],
'Gender': ['Male', 'Female', 'Male'],
'Salary': [45000, 55000, 75000]}
df = pd.DataFrame(data)
df.loc[df['Age'] >= 30, 'Salary'] += 5000
print(df)
输出:
Name Age Gender Salary
0 John Smith 24 Male 45000
1 Jane Doe 28 Female 55000
2 Joseph Lee 32 Male 80000
我们使用 loc 函数来选择所有“年龄 >= 30”的记录,并使用“+=”运算符将 Salary 值增加了 5000 美元。
在上述示例中,条件被评估并用作 DataFrame 中索引的一部分。 loc 函数将更新DataFrame 中符合条件的记录的 Salary 值。
请注意,我们使用 += 运算符分配了 Salary 值的增量。这更新了数据框,并使更改直接反映在原始数据中。
假设我们要将所有女性员工的薪水减少5,000美元,同时将男性员工的薪水增加5,000美元:
df.loc[df['Gender'] == 'Female', 'Salary'] -= 5000
df.loc[df['Gender'] == 'Male', 'Salary'] += 5000
print(df)
输出:
Name Age Gender Salary
0 John Smith 24 Male 50000
1 Jane Doe 28 Female 50000
2 Joseph Lee 32 Male 85000
总结
在这篇文章中,我们展示了如何使用 Pandas 在满足特定条件时更新行值。
- loc 函数可用于选择符合条件的行
- 一般情况下可使用+=、-=运算符来更新行值
- 通过此术语的练习您可以更好地理解如何使用 Pandas 处理数据。
Happy learning!
极客教程