Как добавить индекс, строку или столбец в существующий DataFrame?
Этот вопрос проверяет, как можно модифицировать DataFrame, добавляя новый индекс, строки или столбцы с помощью встроенных методов Pandas.
Короткий ответ
Добавление индекса выполняется через set_index(), позволяя установить столбец, список или Series в качестве индекса.
Добавление строк можно сделать с помощью df.loc[], передав индекс и значения, или через pd.concat(), объединяя несколько DataFrame.
Добавление столбцов осуществляется через присвоение df['column_name'] = values, а также методами df.insert() и df.assign().
Длинный ответ
1. Добавление индекса
- Метод set_index() позволяет установить столбец, Series или список в качестве индекса:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df = df.set_index('A')
print(df)drop=False оставит исходный столбец в данных.
append=True добавит новый индекс к существующему.
2. Добавление строки
- Через df.loc[]:
df.loc[3] = [7, 8]- Через pd.concat(), если нужно добавить несколько строк:
new_rows = pd.DataFrame({'A': [4, 5], 'B': [9, 10]})
df = pd.concat([df, new_rows], ignore_index=True)
3. Добавление столбца
- Простое добавление:
df['C'] = [11, 12, 13]- Через insert() (добавляет в конкретное место):
df.insert(1, 'D', [14, 15, 16])- Через assign():
df = df.assign(E=[17, 18, 19])
Добавлять индексы, строки и столбцы в Pandas можно разными методами. Выбор зависит от задачи: set_index() для индексов, df.loc[] и pd.concat() для строк, а insert() и assign() — для столбцов.