从 pandas 数据框中的文本替换 unicode

Replacing unicode from a text in a pandas dataframe

我有这个数据框:

>>> df
                   Temp
0   before 1.5° C after
1     before 2° C after
2    before 2°  C after
3  before 1.5°  C after

我应用这个replace方法:

newdf = df.replace(r'(?P<quote>\d[.]*[\d]*)(?u:00B0)\s+C', '(?P=quote)'r'C')

数据帧保持不变。但是,我希望它看起来像这样:

>>> newdf
               Temp
0 before 1.5C after
1   before 2C after
2   before 2C after
3 before 1.5C after

我也试过 newdf = df.replace(r'°\s+','') 但这也没有改变数据帧。

这些其他问题:

使用模式 r"[^\d.C]" 替换除 intdecimalC

之外的所有内容

例如:

df["New"] = df["Temp"].str.replace(r"[^\d.C]", "")
#OR
df["New"] = df["Temp"].str.replace(r"(?<=\d)(°\s*)", "")
print(df)

输出:

      Temp   New
0   1.5° C  1.5C
1     2° C    2C
2     2° C    2C
3  1.5°  C  1.5C

另一种方式;只需替换所有 non digits,不包括 .

 df["New"]=df.Temp.str.replace('[^\w\.]','')