class_docstr: A column object, with only the methods and properties required by the
  interchange protocol defined.
  A column can contain one or more chunks. Each chunk can contain up to three
  buffers - a data buffer, a mask buffer (depending on null representation),
  and an offsets buffer (if variable-size binary; e.g., variable-length
  strings).
  Note: this Column object can only be produced by ``__dataframe__``, so
        doesn't need its own version or ``__column__`` protocol.
class_docstr_tok: ["A","column","object",",","with","only","the","methods","and","properties","required","by","the","interchange","protocol","defined",".","A","column","can","contain","one","or","more","chunks",".","Each","chunk","can","contain","up","to","three","buffers","-","a","data","buffer",",","a","mask","buffer","(","depending","on","null","representation",")",",","and","an","offsets","buffer","(","if","variable-size","binary",";","e.g.",",","variable-length","strings",")",".","Note",":","this","Column","object","can","only","be","produced","by","``","__dataframe__","``",",","so","does","n't","need","its","own","version","or","``","__column__","``","protocol","."]
docstr: Note: doesn't deal with extension arrays yet, just assume a regular
  Series/ndarray for now.
docstr_tok: ["Note",":","does","n't","deal","with","extension","arrays","yet",",","just","assume","a","regular","Series\/ndarray","for","now","."]
code: def __init__(
      self, column: pd.Series, allow_copy: bool = True
  ) -> None:
      """
      Note: doesn't deal with extension arrays yet, just assume a regular
      Series/ndarray for now.
      """
      if not isinstance(column, pd.Series):
          raise NotImplementedError(
              f"Columns of type {type(column)} not handled yet"
          )
  
      # Store the column as a private attribute
      self._col = column
      self._allow_copy = allow_copy
  
imports: from __future__ import annotations
  from typing import Any
  import numpy
  from pandas._libs.lib import infer_dtype
  from pandas._libs.tslibs import iNaT
  from pandas.errors import NoBufferPresent
  from pandas.util._decorators import cache_readonly
  import pandas
  from pandas.api.types import is_categorical_dtype, is_string_dtype
  from pandas.core.interchange.buffer import PandasBuffer
  from pandas.core.interchange.dataframe_protocol import Column, ColumnBuffers, ColumnNullType, DtypeKind
  from pandas.core.interchange.utils import ArrowCTypes, Endianness, dtype_to_arrow_c_fmt
label_desc: Use image node_id 1 to create a new PandasColumn object from inherited base classes: Column with example: obj = PandasColumn(column, allow_copy)