Изменение данных
Урок 11 из 19 курса Аналитика в pandas на Coddy.
Чтобы переопределить данные конкретной ячейки, столбца или строки, вы можете присвоить им новое значение:
df["existing_col"] = new_value # Изменить столбец
df.loc[index] = new_value # Изменить строку
df.loc[index, "existing_col"] = new_value # изменить ячейкуЧтобы обновить значение столбца для строк, соответствующих определенному условию, используйте то же условие, которое мы изучили в предыдущих уроках, с методом .loc:
df.loc[df['col'] > 5, 'existing_col'] = new_value
df.loc[(df['col'] <= 5) & (df['col'] > 2), 'existing_col'] = new_value
Важно использовать ключевое слово
locпри изменении существующих строк. Часто при изменении датафрейма безlocвы имеете дело с копией, а не с оригинальными данными. Например:df[(df['col'] <= 5) & (df['col'] > 2)]["existing_col"] = new_valueЗдесь условие возвращает копию датафрейма вместо оригинальных данных.
Задание
Легко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- Измените все ячейки (кроме ячеек в столбцах
IS_VALIDиUTILIZATION), гдеIS_VALIDравно1, аUTILIZATIONменьше0.4, на значениеMODIFIED.
Сохраните результат в переменной df.
Попробуйте сами
# pandas как pd уже импортирован
df = pd.read_csv("./stats.csv")
for column in df.columns:
if column not in ["IS_VALID", "UTILIZATION"]:
df[column] = df[column].astype(object)
# Напишите свой код ниже
Все уроки раздела Аналитика в pandas
4Анализ данных с Pandas
Описательная статистикаГруппировка и агрегация данныхРазличные агрегацииMerge и Concat3Манипуляции с данными в Pandas
Возврат нужного результатаФильтрация данныхДобавление и удалениеИзменение данныхИзменение строкПользовательские изменения