繁体   English   中英

如何从字符串中删除字符?

[英]How to remove characters from the string?

如何从由数字和字符组成的列中删除字符?

这是数据集:

Name
0yrs 0mon
11yrs 11mon 
2yrs 2mon
3yrs 5mon

这是预期的输出:

Name
0.0
11.11
2.2
3.5

这是实际输出:

Name
0.0.
11.11.
2.2.
3.5.

我尝试使用命令

df.Name = df.Name.str.replace('\D+','.')

我看到通过第二遍的两种简单方法。 一种是简单地删除尾随期。 另一种方法是分别替换字母字符串:如果点之间用空格隔开,则为点; 否则将其删除。

df.Name = df.Name.str.replace('\D+ ','.')
df.Name = df.Name.str.replace('\

D +','')

尝试使用

regex = re.compile(r"(\d+)\w+ (\d+)\w+")
df.Name = regex.sub(r"\1.\2", df.Name.str)

该链接说明了用正则表达式中的捕获组进行替换。 之后, \\d+匹配数字,而\\w+匹配其余的Unicode字符。

尝试将rstrip链接到您已经尝试过的末尾,这应该rstrip尾随时间:

In [5] df.Name.str.replace('\D+', '.').str.rstrip('.')
Out[5]: 
0      0.0
1    11.11
2      2.2
3      3.5
Name: Name, dtype: object

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM