1. Какие способы переименования столбцов существуют в Pandas? В чём преимущества и недостатки каждого?
Ответ:
- rename() с копией: безопасный, не меняет исходные данные, но требует присваивания.
- rename() с inplace=True: меняет исходный DataFrame, экономит память.
- Прямое присваивание columns: самый быстрый, но требует указания ВСЕХ столбцов.
2. Как добавить новый столбец в определённую позицию DataFrame (не в конце)?
Ответ: Использовать метод insert(позиция, 'имя_столбца', данные). Например: df.insert(2, 'new_col', [1,2,3])
3. В чём разница между удалением столбцов через drop() и через оператор del?
Ответ: drop() может удалять несколько столбцов сразу и работает с копией (inplace=False).
del удаляет только один столбец и всегда изменяет исходный DataFrame.
4. Почему после удаления строк рекомендуется выполнять сброс индекса? Что произойдёт, если этого не сделать?
Ответ: После удаления строк индексы становятся "рваными" (1,5,7...). Без reset_index()
могут возникнуть проблемы при итерации и объединении DataFrame.
5. Как добавить несколько строк в DataFrame с помощью pd.concat()? Что означает параметр ignore_index=True?
Ответ: pd.concat([df1, df2], ignore_index=True). ignore_index=True создаёт новые индексы
0,1,2... вместо сохранения старых.
6. Объясните разницу между .loc[] и .iloc[] при отборе данных.
Ответ: .loc[] - отбор по меткам индекса (включая правую границу),
.iloc[] - отбор по целочисленным позициям (как в списках Python).
7. Как выполнить условное объединение значений в столбце на основе значений другого столбца?
Ответ: Использовать loc[условие, 'столбец'] = новое_значение. Например:
df.loc[df['age'] > 18, 'status'] = 'Adult'
8. Для чего используется метод str.cat()? Приведите пример использования.
Ответ: str.cat() объединяет строки с указанным разделителем. Пример: df['full'] = df['first'].str.cat(df['last'], sep=' ')
9. Как сохранить DataFrame в CSV-файл без сохранения индекса? Почему это часто необходимо?
Ответ: df.to_csv('file.csv', index=False). Это необходимо, чтобы при загрузке не создавался
лишний столбец с индексами.
10. Что произойдёт при попытке удалить несуществующий столбец или строку?
Ответ: Pandas вызовет ошибку KeyError, так как указанный столбец/строка не найдены.