Custom python dataframe implementation
Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt4_8/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.From its SKILL.md
npx -y skills add ECNU-ICALK/AutoSkill --skill custom-python-dataframe-implementationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
SKILL.md
3.1 KB, 631 tokens by cl100k_base, as published. Nobody here has run it
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
-
Class Structure:
- ListV2: A wrapper class for a list, implementing
__iter__and__next__. - DataFrame:
__init__(self, data, columns): Initializeself.index(dict),self.data(dict ofListV2objects), andself.columns(list). Handledataas a list of lists (rows) andcolumnsas a tuple/list. Populateself.databy 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_nameis a string, return the list of values for that column. - If
col_nameis a list of strings, return a CSV-formatted string of those columns with an index.
- If
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.
- ListV2: A wrapper class for a list, implementing
-
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).
- String representations (from
Anti-Patterns
- Do not use pandas or external libraries.
- Do not assume
self.columnsis 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
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.