Я пытаюсь улучшить свои навыки в области науки о данных с помощью некоторых курсов, и сегодня я брал урок о пропущенных значениях и о том, как с ними бороться. Во время урока показывался такой код:
Код: Выделить всё
# Calculate median plane ticket prices by Airline
airline_prices = planes.groupby("Airline")["Price"].median()
print(airline_prices)
# Convert to a dictionary
prices_dict = airline_prices.to_dict()
# Map the dictionary to missing values of Price by Airline
planes["Price"] = planes["Price"].fillna(planes["Airline"].map(prices_dict))
# Check for missing values
print(planes.isna().sum())
Мне трудно понять, что делает функция карты в этом случае. Я знаю, что функция карты применяет функцию к каждому элементу итерируемого объекта, переданного в качестве второго аргумента, но в этом случае передается только итерируемый аргумент (который в данном случае является словарем). Скажите, пожалуйста, прав я или нет: в этой строке кода для каждой строки столбца «Цена», имеющей значение na, функция fillna заполняет ее медианой каждой группы «Авиакомпания». В этом случае функция карты просто связывает каждую «Авиакомпанию» с соответствующей медианой? Почему функция карты работает без переданной ей функции?
Подробнее здесь:
https://stackoverflow.com/questions/788 ... a-function