Метод pop
Метод pop применяется к DataFrame
и удаляет из него указанный столбец.
Этот столбец возвращается как Series.
Единственным обязательным параметром является
название столбца для удаления.
Если столбец не найден, метод выбрасывает
исключение KeyError.
Синтаксис
df.pop(label)
Пример
Давайте удалим столбец b из таблицы
и сохраним его в отдельную переменную:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50],
'c': [100, 200, 300, 400, 500]
})
ser = df.pop('b')
print('DataFrame after pop:')
print(df)
print('\nSeries from pop:')
print(ser)
Результат выполнения кода:
DataFrame after pop:
a c
0 1 100
1 2 200
2 3 300
3 4 400
4 5 500
Series from pop:
0 10
1 20
2 30
3 40
4 50
Name: b, dtype: int64
Пример
После удаления столбца он больше недоступен в исходной таблице. Попытка обратиться к нему вызовет ошибку:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3],
'b': [10, 20, 30]
})
ser = df.pop('b')
# Try to access removed column
print(df['b'])
Результат выполнения кода:
"KeyError: 'b'"
Пример
Удалим единственный столбец из DataFrame. В результате получим пустую таблицу, а столбец будет сохранён как Series:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5]
})
ser = df.pop('a')
print('DataFrame:', df)
print('\nSeries:', ser)
print('\nDataFrame empty:', df.empty)
Результат выполнения кода:
DataFrame: Empty DataFrame
Columns: []
Index: [0, 1, 2, 3, 4]
Series: 0 1
1 2
2 3
3 4
4 5
Name: a, dtype: int64
DataFrame empty: True