Как использовать регулярное выражение в фрейме данных pandas с помощью Python

#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
>>>