首页  >  文章  >  后端开发  >  如何根据条件有选择地替换 Pandas DataFrame 中的列值?

如何根据条件有选择地替换 Pandas DataFrame 中的列值?

Patricia Arquette
Patricia Arquette原创
2024-10-31 02:20:02740浏览

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

Pandas DataFrame:根据条件替换列值

在这个问题中,目标是根据条件有选择地替换 DataFrame 列中的值一个条件。给定一个包含足球队及其第一个赛季的 DataFrame,我们希望将“First Season”列中超过 1990 年的所有值替换为 1。

提供的解决方案 df.loc[(df['First Season] '] > 1990)] = 1,错误地替换了所选行中的所有值,而不仅仅是目标列。为了解决这个问题,我们需要指定要修改的列。

此修改的正确语法是:

df.loc[df['First Season'] > 1990, 'First Season'] = 1

其工作原理如下:

  • df.loc[(df['First Season'] > 1990)]:选择 'First Season' 值大于 1990 的行,有效生成标签以索引到 DataFrame 中。
  • 'First Season':可以选择指定要进行替换的列。

执行这行代码后,只有满足指定条件的 'First Season' 值才会被替换为1,保留 DataFrame 的其余部分。

其他注意事项:

如果所需的结果是布尔指示器,我们可以使用布尔条件生成布尔系列并将其转换为整数数据类型:

df['First Season'] = (df['First Season'] > 1990).astype(int)

这会将 True 值转换为 1,将 False 值转换为 0,从而在“第一季”列中创建布尔指示器。

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

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