Menu
Coddy logo textTech

Пользовательские изменения

Урок 13 из 19 курса Аналитика в pandas на Coddy.

Чтобы внести пользовательское изменение, используйте метод .apply и передайте ему lambda или function. Например, чтобы найти квадрат каждого числа в столбце:

df['num_squared'] = df['num'].apply(lambda x: x**2)

Этого также можно добиться, умножив столбец сам на себя:

df['num_squared'] = df['num'] * df['num']

Чтобы добавить 2 к значению каждой строки:

df["add_two"] = df['num'].apply(lambda x: x+2)
df["add_two"] = df['num'] + 2

Чтобы заменить каждое значение в Series другим значением, используйте метод .map и передайте ему функцию, словарь или Series.

Например, если мы хотим заменить названия фруктов числовыми значениями:

fruits_to_num = {"apple": 1, "mango": 2, "grape": 3}
df["fruits"] = df["fruits"].map(fruits_to_num)

И .map, и .apply могут принимать функции:

df['num_squared'] = df['num'].apply(lambda x: x**2)
df['num_squared'] = df['num'].map(lambda x: x**2)

Чтобы узнать больше об их различиях, вы можете прочитать здесь.

 

challenge icon

Задание

Легко

CSV-файл stats.csv содержит информацию о статистике.

Вот первые 5 строк файла:

ID,COUNTRY,COLOR,SKILL,SKILL_POINTS,UTILIZATION,IS_VALID,CATEGORY
1,France,Signal violet,marksmanship,14,0.1924,1,SHOW
2,Solomon Islands,Pearl violet,crocheting,4,0.6108,1,TREE
3,Germany,Bottle green,calligraphy,12,0.88646,0,SHOW
4,Mauritania,Fawn brown,paper cutting,9,0.058,1,JAPE
  • Замените значения в столбце CATEGORY на: {"SHOW": 0, "TREE": 1, "JAPE": 2, "GHUP": 3, "PLQR": 4}.
  • Создайте новый столбец с названием SKILL_MASTERY. Заполните этот столбец по следующей формуле: Перемножьте значения в столбцах SKILL_POINTS и UTILIZATION. Если результат больше 5, разделите его на 4; в противном случае разделите его на 2. Наконец, прибавьте значение из столбца IS_VALID к полученному результату.
  • Отсортируйте результат по возрастанию в соответствии со значениями в SKILL_MASTERY.

Сохраните результат в переменной df.

Попробуйте сами

# pandas как pd уже импортирован
df = pd.read_csv("./stats.csv")
# Напишите свой код ниже

Все уроки раздела Аналитика в pandas