Почему метод 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