首页  >  文章  >  后端开发  >  如何根据条件修改 Pandas DataFrame 列中的特定值?

如何根据条件修改 Pandas DataFrame 列中的特定值?

DDD
DDD原创
2024-10-26 03:34:27370浏览

How Can I Modify Specific Values in Pandas DataFrame Columns Based on a Condition?

根据 Pandas 中的条件更改值

此问题提出了一种情况,其中需要将 FirstName 和 LastName 两列中的特定值根据匹配特定值的 ID 列的条件进行修改。在 Stata 中,这可以使用简单的替换命令来实现。

在 Pandas(一个强大的用于数据操作的 Python 库)中,一种方法是利用具有索引功能的 loc 函数。这使得逻辑评估和随后的数据修改成为可能。例如:

<code class="python">import pandas as pd

df = pd.read_csv("test.csv")
df.loc[df.ID == 103, 'FirstName'] = "Matt"
df.loc[df.ID == 103, 'LastName'] = "Jones"</code>

或者,可以一步完成对两列的赋值:

<code class="python">df.loc[df.ID == 103, ['FirstName', 'LastName']] = 'Matt', 'Jones'</code>

请注意,loc 覆盖赋值操作需要 Pandas 版本 0.11 或更高版本。对于旧版本,链式赋值是一个可行的解决方案:

<code class="python">df['FirstName'][df.ID == 103] = "Matt"
df['LastName'][df.ID == 103] = "Jones"</code>

虽然在现代 Pandas 版本中通常应避免链式赋值,但为了与旧版本兼容,它仍然是一种需要注意的有用技术。

以上是如何根据条件修改 Pandas DataFrame 列中的特定值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn