gpt4 book ai didi

python - 在循环中替换 Pandas 数据框中的值

转载 作者:太空狗 更新时间:2023-10-29 22:16:05 25 4
gpt4 key购买 nike

我正在尝试遍历 pandas 数据框并在满足特定条件时替换特定列中的值。我意识到通常有更直接的方法可以做到这一点,但在我的具体示例中我需要一个循环,因为一行的结果可能取决于前一行。下面是一个可重现的错误示例。当我尝试替换文本时,它并没有替换它。

import pandas as pd
df = pd.DataFrame({"A": ["I", "AM", "NOT", "WORKING", "!"], "B": [20, 30, 10, 40, 50], "C": [32, 234, 23, 23, 42523]})


for index, row in df.iterrows():
row['A'] = "I am working!"

print(df)

打印:

         A   B      C
0 I 20 32
1 AM 30 234
2 NOT 10 23
3 WORKING 40 23
4 ! 50 42523

最佳答案

您可以使用 .loc 写入原始帧:

>>> for index, row in df.iterrows():
... df.loc[index, "A"] = "I am working! {}".format(row["B"])
...
>>> df
A B C
0 I am working! 20 20 32
1 I am working! 30 30 234
2 I am working! 10 10 23
3 I am working! 40 40 23
4 I am working! 50 50 42523

[5 rows x 3 columns]

旁白:即使一行依赖于前一行,也可以通过多种方式对其进行矢量化,但我承认有时手动、基于循环的方式要简单得多。

关于python - 在循环中替换 Pandas 数据框中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21367710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com