Давайте go пошагово проходим его:
df['Item_Visibility_MeanRatio']
Эта часть создает столбец во фрейме данных, и его имя Item_Visibility_MeanRatio
.
df.apply(lambda...)
Применить функция вдоль оси фрейма данных.
x['Item_Visibility']
Она получает данные из Item_Visibility
столбца в фрейме данных.
visibility_item_avg['Item_Visibility'][visibility_item_avg.index == x['Item_Identifier']][0]
Эта часть находит индексы, которые visibility_item_avg
индекс равен df['Item_Identifier']
. Это приведет к списку. Затем он получит элементы в visibility_item_avg['Item_Visibility']
, индекс которых равен тому, что было найдено в предыдущей части. [0]
в конце - найти первый элемент результирующего массива.
axis=1
1: применить функцию к каждой строке.
astype(float)
Это предназначен для изменения типов значений на float. Чтобы код было легко захватить, вы всегда можете разделить его на отдельные части и постепенно переваривать.
Чтобы ускорить код, вы можете выполнить векторизацию вместо применения лямбда. По ссылке здесь .