根据条件替换 DataFrame 列中的值
在此场景中,您有一个包含名为“First Season”的列的 DataFrame。您希望修改此列中的值,特别是将高于 1990 的值替换为值 1。虽然尝试使用 df.loc[(df['First Season'] > 1990)] = 1 选择值,它会替换所选行中的所有值,而不是仅针对“第一季”列。
要根据条件有效替换特定列中的值,必须在选择条件中明确指定该列。这是使用以下语法实现的:
<code class="python">df.loc[<mask>, <optional column(s)>]</code>
在您的情况下,掩码用于选择“第一季”值大于 1990 的行。下面的代码将实现所需的结果:
<code class="python">df.loc[df['First Season'] > 1990, 'First Season'] = 1</code>
或者,如果您打算创建布尔指标,您可以利用布尔条件生成布尔系列,并使用 .astype() 将 True 和 False 值转换为整数。此方法将生成一个包含 1(真)和 0(假)值的列。
<code class="python">df['First Season'] = (df['First Season'] > 1990).astype(int)</code>
以上是如何根据条件替换 DataFrame 列中的值?的详细内容。更多信息请关注PHP中文网其他相关文章!