#python #regex #pandas #dataframe
#python #регулярное выражение #pandas #фрейм данных
Вопрос:
Я пытаюсь заменить только один символ строки в столбцах pandas. Конкретно, я хочу заменить . by — в столбцах «Дата»
Вот мой скрипт :
import pandas as pd
number = {"date": [2002.04, 2002.05], "team": ["a", "b"]}
number_pandas = pd.DataFrame(number)
number_pandas
number_pandas.date.replace(".", "-")
Вот результат :
0 2002.04
1 2002.05
Name: date, dtype: float64
Это не работает. Может быть, вы можете помочь с регулярным выражением.
Комментарии:
1.
number_pandas['date'].astype(str).str.replace(".", "-", regex=False)
?
Ответ №1:
Сначала вы можете преобразовать данные столбца в данные типа str
, а затем использовать простую замену строки на
number_pandas['date'].astype(str).str.replace(".", "-", regex=False)
Тест Pandas:
>>> import pandas as pd
>>> number = {"date": [2002.04, 2002.05], "team": ["a", "b"]}
>>> number_pandas = pd.DataFrame(number)
>>> number_pandas['date'].astype(str).str.replace(r".", "-", regex=False)
0 2002-04
1 2002-05
Name: date, dtype: object
>>>