Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Удаленная работа для IT-специалистов
import numpy as np import pandas as pd df = pd.DataFrame([[np.nan, 'f+2', np.nan, '0'], ['3', '4.0', np.nan, 'y1,et'], [np.nan, np.nan, np.nan, np.nan], [np.nan, '3', np.nan, 'w$4q']], columns=list("ABCD")) print(df)
df['B']=df['B'][re.sub('\\D','', str(x)) for x in df['B'].fillna(0)] #\D это любая не-цифра df['B']=df['B'].astype(float)
1. У меня почему-то Питон ругается на неверный синтаксис, указывая на слово for. Я уже много комбинаций перепробовала, но все не то. См ниже
2.По вашему решению вопрос: а если мне надо удалить все символы кроме точки?
Output:
A B C D
0 NaN f+2 NaN 0
1 3 4.0 NaN y1,et
2 NaN NaN NaN NaN
3 NaN 3 NaN w$4q
Ошибка:
File "/var/folders/y1/cqg47ghn0ldftnfdp7q1m5th0000gn/T/ipykernel_11794/2041629147.py", line 2
for x in df['B']
^
SyntaxError: invalid syntax