python 将某个值的所有示例替换为另一个特定值

pu82cl6c  于 2022-11-21  发布在  Python
关注(0)|答案(2)|浏览(166)

我有df的这一部分

x            y         d   n
0   -17.7    -0.785430  0.053884  y1
1   -15.0 -3820.085000  0.085000  y4
2   -12.5     2.138833  0.143237  y3
3   -12.4     1.721205  0.251180  y3

我想在列n中替换“3rd”的所有y3示例和“4th”的所有y4示例
输出量:

x            y         d   n
0   -17.7    -0.785430  0.053884  y1
1   -15.0 -3820.085000  0.085000  4th
2   -12.5     2.138833  0.143237  3rd
3   -12.4     1.721205  0.251180  3rd
pwuypxnk

pwuypxnk1#

简单。可以在列的.str之后使用Python str函数。

df['n'] = df['n'].str.replace('y3', '3rd').replace('y4', '4th')


您可以选择特定的列,并像这样替换

df[df['n'] == 'y3'] = '3rd'
df[df['n'] == 'y4'] = '4th'

选择权在你。

wgmfuz8q

wgmfuz8q2#

您可以使用regex并定义dict来进行取代。

dct_rep = {'y3':'3rd' , 'y4':'4th'}

df['n'] = df['n'].str.replace(r'(y3|y4)', 
                              lambda x: dct_rep.get(x.group(), 'Not define in dct_rep'), 
                              regex=True
                             )

print(df)

输出量:

x            y         d    n
0 -17.7    -0.785430  0.053884   y1
1 -15.0 -3820.085000  0.085000  4th
2 -12.5     2.138833  0.143237  3rd
3 -12.4     1.721205  0.251180  3rd

相关问题