首页 > 后端开发 > Python教程 > 如何根据条件替换 Pandas DataFrame 列中的特定值?

如何根据条件替换 Pandas DataFrame 列中的特定值?

Mary-Kate Olsen
发布: 2024-11-02 20:41:02
原创
206 人浏览过

How to Replace Specific Values in a Pandas DataFrame Column Based on Conditions?

Pandas DataFrame:根据条件进行目标值替换

在 Pandas 中,通常需要根据某些条件修改 DataFrame 中的特定值。虽然常见的方法是使用 loc 来选择行,但了解如何精确定位特定列进行值修改至关重要。

考虑以下 DataFrame,我们希望在其中替换“第一季”中的值超过 1990 且整数 1 的列:

                 Team  First Season  Total Games
0      Dallas Cowboys          1960          894
1       Chicago Bears          1920         1357
2   Green Bay Packers          1921         1339
3      Miami Dolphins          1966          792
4    Baltimore Ravens          1996          326
5  San Franciso 49ers          1950         1003
登录后复制

仅使用 loc 函数的初始尝试导致替换所选行中的所有值,而不仅仅是目标列。为了纠正这个问题,我们需要显式指定“First Season”列作为 loc 的第二个参数:

df.loc[df['First Season'] > 1990, 'First Season'] = 1
登录后复制

这种有针对性的方法确保只有“First Season”列中的值满足条件替换为 1,其他列不受影响。

                 Team  First Season  Total Games
0      Dallas Cowboys          1960          894
1       Chicago Bears          1920         1357
2   Green Bay Packers          1921         1339
3      Miami Dolphins          1966          792
4    Baltimore Ravens             1          326
5  San Franciso 49ers          1950         1003
登录后复制

或者,如果所需结果是布尔指标,您可以使用该条件创建布尔系列并将其转换为整数,其中 True 和 False分别转换为 1 和 0:

df['First Season'] = (df['First Season'] > 1990).astype(int)
登录后复制

此方法生成具有更新值的 DataFrame:

                 Team  First Season  Total Games
0      Dallas Cowboys             0          894
1       Chicago Bears             0         1357
2   Green Bay Packers             0         1339
3      Miami Dolphins             0          792
4    Baltimore Ravens             1          326
5  San Franciso 49ers             0         1003
登录后复制

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板