【发布时间】:2021-11-29 10:29:34
【问题描述】:
我想将我的 DataFrame 中“tumor-size”列中的所有“0-4”替换为“00-04”。我在专栏中的内容如下。
print(df['tumor-size'].unique())
["'15-19'" "'35-39'" "'30-34'" "'25-29'" "'40-44'" "'10-14'" "'0-4'" "'20-24'" "'45-49'" "'50-54'" "'5-9'"]
我在第 1 名尝试过,但没有任何改变。
df['tumor-size'] = df['tumor-size'].replace('0-4', '00-04')
接下来,我尝试了以下。在这种情况下,所有“0-4”都被替换为“00-40”,但是所有“40-44”都被替换为“400-044”,因为“40-44”包含“0-4”。
df['tumor-size'] = df['tumor-size'].str.replace('0-4', '00-04')
我阅读了其他 QA 并注意到我需要正则表达式。然后我尝试跟随,因为元素总是以'0-4'开头,但没有再次改变。
df['tumor-size'] = df['tumor-size'].str.replace(r'^0-4', '00-04', regex=True)
我想做的很简单,但我不知道如何实现这一点。 请有人帮助我。 谢谢,
注意:每次尝试时,我都会将所有数据从 csv 文件重新加载到 df。
【问题讨论】:
标签: python pandas string replace