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

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

Barbara Streisand
Barbara Streisand原创
2024-10-31 12:26:25186浏览

How can I replace values in a specific Pandas DataFrame column based on a condition?

Pandas DataFrame:根据条件替换特定列值

在 DataFrame 中,通常需要根据条件替换列中的特定值预定义的条件。考虑以下 DataFrame:

                 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

假设我们需要将“第一季”列中大于 1990 的所有值替换为 1。要实现此目的,可以使用以下命令:

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

该行根据方括号中指定的条件选择性地定位“First Season”列(df['First Season'] > 1990)。 = 符号将值 1 分配给所选元素,确保仅“第一季”列受到影响。

生成的 DataFrame 将如下所示:

                 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

重要的是请注意,此操作的语法涉及两个关键组件:

  • df.loc[, ]:这选择由布尔掩码。
  • = :这会将指定的值分配给选定的列。

此外,如果目标是创建布尔指示器而不是替换值,则条件可用于生成一个布尔系列,然后可以通过将其数据类型转换为 int 将其转换为整数。这会将 True 和 False 值分别转换为 1 和 0。

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

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