«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Почему мой DataFrame Pandas не заменяет значения на replace()?

Почему мой DataFrame Pandas не заменяет значения на replace()?

Опубликовано 7 ноября 2024 г.
Просматривать:745

Why Isn\'t My Pandas DataFrame Replacing Values with `replace()`?

Почему метод replace() не заменяет значения в моем фрейме данных Pandas?

Несмотря на попытку заменить определенные строки на NaN в простом DataFrame, метод replace() кажется неэффективным. Например:

d = {'color' : pd.Series(['white', 'blue', 'orange']),
   'second_color': pd.Series(['white', 'black', 'blue']),
   'value' : pd.Series([1., 2., 3.])}
df = pd.DataFrame(d)
df.replace('white', np.nan)

Ожидаемый результат с заменой значений «white» на NaN не достигается. Вместо этого DataFrame остается неизменным.

Решение: включите частичные замены с помощью regex=True

По умолчанию метод replace() выполняет полную замену строк. Чтобы включить частичные замены, для параметра регулярного выражения должно быть установлено значение True. Эта небольшая настройка позволяет нам заменять определенные строки в любом месте DataFrame:

df.replace('white', np.nan, regex=True)

Благодаря этой модификации DataFrame правильно заменит все экземпляры «белого» на NaN.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3