code: def df_pop(df, item):
      """
      Return item and drop from frame. Raise KeyError if not found.
  
      Parameters
      ----------
      item : str
          Label of column to be popped.
  
      Returns
      -------
      Series
  
      Examples
      --------
      >>> import numpy as np
      >>> import mars.dataframe as md
      >>> df = md.DataFrame([('falcon', 'bird', 389.0),
      ...                    ('parrot', 'bird', 24.0),
      ...                    ('lion', 'mammal', 80.5),
      ...                    ('monkey', 'mammal', np.nan)],
      ...                   columns=('name', 'class', 'max_speed'))
      >>> df.execute()
           name   class  max_speed
      0  falcon    bird      389.0
      1  parrot    bird       24.0
      2    lion  mammal       80.5
      3  monkey  mammal        NaN
  
      >>> df.pop('class').execute()
      0      bird
      1      bird
      2    mammal
      3    mammal
      Name: class, dtype: object
  
      >>> df.execute()
           name  max_speed
      0  falcon      389.0
      1  parrot       24.0
      2    lion       80.5
      3  monkey        NaN
      """
      series = df.data[item]
      df_drop(df, item, axis=1, inplace=True)
      return series
  
imports: import warnings
  from collections import OrderedDict
  import numpy
  from ...None import opcodes
  from ...core import Entity, Chunk, CHUNK_TYPE, OutputType, recursive_tile
  from ...serialization.serializables import AnyField, StringField
  from ..core import IndexValue, DATAFRAME_TYPE, SERIES_TYPE, INDEX_CHUNK_TYPE
  from ..operands import DataFrameOperand, DataFrameOperandMixin
  from ..utils import parse_index, validate_axis
label_desc: Use image node_id 3 for calling a global function with example usage: df_pop(df, item) and returns: series