如何替换 pandas DataFrame 中的多个值

How to replace multiple value in a pandas DataFrame

如何用 pandas DataFrame 中的另一个不同的多个值(存储在数组中)替换多个值?

详细说明:我想替换数据框 'df' 中名为 'Cloud3pm' 的列的每一行中的值,其中值为 = -1。 我想分别用一个值数组替换这个单元格值,这些值的长度等于我将在数据帧上找到的等于 -1 的值的出现次数。

与其使用替换,您应该能够直接将列表分配给由掩码索引的数据帧。

假设您有一个数据框,其中任何列中的总共 5 个值为 -1。所以数据框中有五个 -1 值。如果你想分别用1、2、3、4、5替换它们,你可以这样做:

df[df == -1] = [1, 2, 3, 4, 5]

如果您只想对特定列执行此操作,您可以这样做:

df.loc[df['Your Column'] == -1, 'Your Column'] = [1, 2, 3, 4, 5]

请注意,如果您要分配的项目列表实际上是一个 numpy 数组,您需要先对其调用 .tolist(),例如

df[df == -1] = my_array.tolist()