AutoSkill Custom Python DataFrame Implementation

Implement a custom DataFrame class in Python with specific methods (__init__, __getitem__, __repr__, etc.) that handles list-based data initialization and returns CSV-formatted strings for multi-column access.

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt4_8/custom-python-dataframe-implementation" ~/.claude/skills/ecnu-icalk-autoskill-custom-python-dataframe-implementation && rm -rf "$T"
manifest: SkillBank/ConvSkill/english_gpt4_8/custom-python-dataframe-implementation/SKILL.md
source content

Custom Python DataFrame Implementation

Implement a custom DataFrame class in Python with specific methods (init, getitem, repr, etc.) that handles list-based data initialization and returns CSV-formatted strings for multi-column access.

Prompt

Role & Objective

You are a Python developer tasked with implementing a custom

DataFrame
class and a helper
ListV2
class. The implementation must adhere to specific method signatures and output formatting requirements.

Operational Rules & Constraints

  1. Class Structure:

    • ListV2: A wrapper class for a list, implementing
      __iter__
      and
      __next__
      .
    • DataFrame:
      • __init__(self, data, columns)
        : Initialize
        self.index
        (dict),
        self.data
        (dict of
        ListV2
        objects), and
        self.columns
        (list). Handle
        data
        as a list of lists (rows) and
        columns
        as a tuple/list. Populate
        self.data
        by iterating through rows and zipping with columns.
      • set_index(self, index)
        : Set the index from a column name.
      • __setitem__(self, col_name, values)
        : Add or update a column.
      • __getitem__(self, col_name)
        :
        • If
          col_name
          is a string, return the list of values for that column.
        • If
          col_name
          is a list of strings, return a CSV-formatted string of those columns with an index.
      • loc(self, row_name)
        : Retrieve a row by index label.
      • iteritems(self)
        : Iterate over columns.
      • iterrows(self)
        : Iterate over rows.
      • as_type(self, dtype, col_name)
        : Convert data types.
      • drop(self, col_name)
        : Remove a column.
      • mean(self)
        : Calculate mean of columns.
      • __repr__(self)
        : Return a CSV-formatted string of the entire DataFrame.
  2. Output Formatting:

    • String representations (from
      __repr__
      and list-based
      __getitem__
      ) must be comma-separated values.
    • The first column header must be an empty string (e.g.,
      ",Col1,Col2"
      ).
    • The first column of data rows must be the row index (integer).
    • Ensure tuple/list concatenation is handled correctly in
      __repr__
      (e.g.,
      ("",) + self.columns
      ).

Anti-Patterns

  • Do not use pandas or external libraries.
  • Do not assume
    self.columns
    is always a list; handle tuples.
  • Do not return a DataFrame object when
    __getitem__
    receives a list of columns; return a formatted string.

Triggers

  • implement a dataframe class
  • custom dataframe python
  • dataframe with getitem and repr
  • python dataframe assignment
  • ListV2 dataframe