我需要使用大熊猫中的正则表达式删除数字前面的点。
What I have: .9/10 .8/10
What I want: 9/10 8/10
我需要使用df.col.str.extract()
。
也提防,因为还有浮点数11.25 / 10,在这种情况下,我想保留点。
答案 0 :(得分:1)
我认为这适用于您提供的小示例(下次提供更多数据)
import re
re.sub(r' $', '', re.sub(r'|^.', '', re.sub(r', .', ', ', '.9/10, .8/10 ')))
'9/10, 8/10'
答案 1 :(得分:0)
使用样本df,因为您没有提供样本(请确保提供了样本数据集和将来的预期结果,以供其他人使用)
df = pd.DataFrame ({'Data' : '20.01/10.'},index=[0])
print(df)
Data
0 20.01/10.
df['Data'] = df['Data'].str.replace('\.$','')
print(df)
Data
0 20.01/10
在正则表达式中,$特殊字符"[matches] the end of the string or just before the newline at the end of the string"
假设您只需要删除。从头开始,您可以使用上面的模式。
如果您需要从非数字字符中删除,请使用
"\.(?!\d)"