Модификация фрейма данных inplace с возвращаемым значением
Я читаю "python для анализа данных" Уэса Маккинни и увидел следующий код
# Always returns a reference to a DataFrame
_ = data.rename(index={'Ohio':'Indiana'}, inplace=True)
Есть ли причина установить изменение inplace на _?
2 ответа:
_обычно используется для обозначения переменной, которую мы не заботимся/не хотим использовать.Это обычно имеет больше смысла, когда вы вытаскиваете кортеж и не заботитесь обо всех значениях, например
a, _ = (1, 2) # pulls out a == 1В этом случае, с одним значением, нет никаких оснований делать это. Вы можете безопасно очистить этот код до:
data.rename(index={'Ohio':'Indiana'}, inplace=True)
Я подозреваю, что это рефактор из:
data = data.rename(index={'Ohio':'Indiana'})Который сделал бы комментарий "всегда возвращает ссылку на фрейм данных" имеет смысл (когда вы используйте inplace он возвращает None, а не фрейм данных!).
Мы используем
_для представления значения, которое нас не волнует. Это условность. Аргументinplaceизменит объект, на который в данный момент указываетdata, вместе с методомrename, возвращающим другую ссылку на него. Это утверждение является взятием возвращаемого значения изrenameи присвоением его_, предполагая, что мы собираемся выбросить его. Это не будет иметь значения, потому что у нас уже есть переменная, а именноdata, которая будет иметь результаты из-заinplace=True.Согласно комментарию Израэля.
renameсinplace=TrueвозвращаетNone, что делает его совершенно неуместным для назначения_., так что ответ на ваш вопрос, нет.