我有以下数据帧
abc=pd.DataFrame()
abc['Col_A']=[1900,1200,1230,1130,1300,0330]
abc
Col_A
0 1900
1 1200
2 1230
3 1130
4 1300
5 0330
从上面的数据帧中,我想替换最后两位数字,只要我看到30,我想用50 替换它
我的预期产出如下。
Col_A
0 1900
1 1200
2 1250
3 1150
4 1300
5 0350
如果不是,那么除了正则表达式之外的任何其他表达式也会有所帮助。提前感谢
假设您的Col_A
值实际上是字符串,那么我们可以在这里使用str.replace
:
df["Col_A"] = df["Col_A"].str.replace(r'30$', '50')
请注意,像0330
这样的值只有在字符串的情况下才会保留其前导零,而不是整数,后者实际上没有任何前导零。
要用数字列覆盖相同的逻辑,请使用:
df["Col_A"] = np.where(df["Col_A"] % 100 == 30, df["Col_A"] + 20, df["Col_A"])