Мне нужно удалить точку перед цифрами, используя регулярные выражения в пандах.
What I have: .9/10 .8/10 What I want: 9/10 8/10
Мне нужно использовать df.col.str.extract().
df.col.str.extract()
Также Остерегайтесь , потому что есть также числа с плавающей запятой 11.25 / 10, и в этих случаях я хочу сохранить точку.
Я думаю, что это работает на небольшом приведенном вами примере (В следующий раз предоставьте больше данных)
import re re.sub(r' $', '', re.sub(r'|^.', '', re.sub(r', .', ', ', '.9/10, .8/10 '))) '9/10, 8/10'
с использованием образца 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
В регулярном выражении специальный символ $ "[соответствует] концу строки или непосредственно перед новой строкой в конце строки"
при условии, что вам нужно только удалить. с конца вы можете использовать шаблон выше.
Если вам нужно удалить из нецифрового символа, используйте
"\.(?!\d)"