如何遍历Pandas Data框架并替换多行[duplicate]

njthzxwz  于 2022-12-02  发布在  其他
关注(0)|答案(1)|浏览(119)

此问题在此处已有答案

How to replace text in a string column of a Pandas dataframe?(7个答案)
12小时前关门了。
以下是我的Pd Dataframe 的前5个rows

0   Stage II
1   Stage III
2   Stage II
3   Stage IV
4   Stage II

它有428行和一列。
我想用Grade I, II, III, and IV分别替换Stage I, II, III, and IV,这样我将得到如下的pd df:

0   Grade II
1   Grade III
2   Grade II
3   Grade IV
4   Grade II

我这样使用replace
target_data.replace("Stage II", "Grade II", inplace =True ) .它起作用了,但似乎我必须为其他人重复4次。
我也试过

for row in target_data.iterrows():
    
    if row == "Stage I":
        row.replace("Stage I", "Grade I" )
        if row == "Stage II":
            row.replace("Stage II", "Grade II" )
            if row == "Stage III":
                row.replace("Stage III", "Grade III" )
                if row == "Stage IV":
                    row.replace("Stage IV", "Grade IV" )

它没有产生我想要的东西。
有什么建议可以用更像Python的方式来实现它吗?

gojuced7

gojuced71#

您可以尝试以下操作:

for i in ["Stage I", "Stage II", "Stage III", "Stage IV"]:
    your_df[col_name] = your_df[col_name].str.replace(i, "Grade " + i.split()[-1])

相关问题