From c1c14c40019693e5f41ac88b4d558e62e4ec93a4 Mon Sep 17 00:00:00 2001 From: HowToSD Date: Thu, 20 Feb 2025 22:39:09 -0800 Subject: [PATCH] Added Pandas Loc Rrow Multi Index DataFrame node. --- __init__.py | 3 + docs/images/multiindex.png | Bin 0 -> 107270 bytes docs/reference/node_reference.md | 1 + .../pandas_loc_row_multiindex_dataframe.md | 26 +++++++ examples/workflows/multiindex.json | 1 + .../pandas_loc_row_multiindex_dataframe.py | 66 ++++++++++++++++++ pyproject.toml | 2 +- 7 files changed, 98 insertions(+), 1 deletion(-) create mode 100644 docs/images/multiindex.png create mode 100644 docs/reference/pandas_loc_row_multiindex_dataframe.md create mode 100644 examples/workflows/multiindex.json create mode 100644 modules/pandas_wrapper/pandas_loc_row_multiindex_dataframe.py diff --git a/__init__.py b/__init__.py index 66c65de..42d3ecb 100644 --- a/__init__.py +++ b/__init__.py @@ -51,6 +51,7 @@ from .modules.pandas_wrapper.pandas_load_csv_with_index import PandasLoadCSVWith from .modules.pandas_wrapper.pandas_load_html import PandasLoadHTML from .modules.pandas_wrapper.pandas_load_json import PandasLoadJSON from .modules.pandas_wrapper.pandas_loc_cell_str import PandasLocCellStr +from .modules.pandas_wrapper.pandas_loc_row_multiindex_dataframe import PandasLocRowMultiIndexDataFrame from .modules.pandas_wrapper.pandas_loc_row_series import PandasLocRowSeries from .modules.pandas_wrapper.pandas_log import PandasLog from .modules.pandas_wrapper.pandas_max import PandasMax @@ -154,6 +155,7 @@ NODE_CLASS_MAPPINGS: Dict[str, Type[T]] = { "PandasLoadHTML": PandasLoadHTML, "PandasLoadJSON": PandasLoadJSON, "PandasLocCellStr": PandasLocCellStr, + "PandasLocRowMultiIndexDataFrame": PandasLocRowMultiIndexDataFrame, "PandasLocRowSeries": PandasLocRowSeries, "PandasLog": PandasLog, "PandasMax": PandasMax, @@ -257,6 +259,7 @@ NODE_DISPLAY_NAME_MAPPINGS: Dict[str, str] = { "PandasLoadHTML": "Pandas Load HTML", "PandasLoadJSON": "Pandas Load JSON", "PandasLocCellStr": "Pandas Loc Cell Str", + "PandasLocRowMultiIndexDataFrame": "Pandas Loc Row Multi Index DataFrame", "PandasLocRowSeries": "Pandas Loc Row Series", "PandasLog": "Pandas Log", "PandasMax": "Pandas Max", diff --git a/docs/images/multiindex.png b/docs/images/multiindex.png new file mode 100644 index 0000000000000000000000000000000000000000..a0cd3fcdccc1161a6ad751f707cc59504b43649e GIT binary patch literal 107270 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 +Category: Data subset selection + +ComfyUI Data Analysis Node Reference. © 2025 Hide Inada (HowToSD.com). All rights reserved. diff --git a/examples/workflows/multiindex.json b/examples/workflows/multiindex.json new file mode 100644 index 0000000..1b6522c --- /dev/null +++ b/examples/workflows/multiindex.json @@ -0,0 +1 @@ +{"last_node_id":80,"last_link_id":85,"nodes":[{"id":78,"type":"PandasShowDataFrame","pos":[-219.4473419189453,4061.099365234375],"size":[285.6177673339844,97.01778411865234],"flags":{},"order":10,"mode":0,"inputs":[{"name":"dataframe","type":"DATAFRAME","link":83}],"outputs":[{"name":"STRING","type":"STRING","links":null,"shape":6}],"properties":{"Node name for S&R":"PandasShowDataFrame"},"widgets_values":[" A B\nIndex C \nW Dog donut 40"]},{"id":77,"type":"PandasLocRowMultiIndexDataFrame","pos":[-220.60975646972656,3891.671142578125],"size":[302.3999938964844,86.90418243408203],"flags":{},"order":7,"mode":0,"inputs":[{"name":"dataframe","type":"DATAFRAME","link":85}],"outputs":[{"name":"DATAFRAME","type":"DATAFRAME","links":[83],"slot_index":0}],"properties":{"Node name for S&R":"PandasLocRowMultiIndexDataFrame"},"widgets_values":["W,Dog","string"]},{"id":73,"type":"PandasShowDataFrame","pos":[-232.98275756835938,3642.0107421875],"size":[285.6177673339844,97.01778411865234],"flags":{},"order":11,"mode":0,"inputs":[{"name":"dataframe","type":"DATAFRAME","link":81}],"outputs":[{"name":"STRING","type":"STRING","links":null,"shape":6}],"properties":{"Node name for S&R":"PandasShowDataFrame"},"widgets_values":[" A C\n B \n1 20 banana Cat"]},{"id":72,"type":"PandasLocRowMultiIndexDataFrame","pos":[-235.06532287597656,3491.6162109375],"size":[302.3999938964844,86.90418243408203],"flags":{},"order":9,"mode":0,"inputs":[{"name":"dataframe","type":"DATAFRAME","link":80}],"outputs":[{"name":"DATAFRAME","type":"DATAFRAME","links":[81],"slot_index":0}],"properties":{"Node name for S&R":"PandasLocRowMultiIndexDataFrame"},"widgets_values":["1,20","int"]},{"id":76,"type":"PandasShowDataFrame","pos":[-487.3261413574219,4040.76318359375],"size":[210,149.5841064453125],"flags":{},"order":6,"mode":0,"inputs":[{"name":"dataframe","type":"DATAFRAME","link":84}],"outputs":[{"name":"STRING","type":"STRING","links":null,"shape":6}],"properties":{"Node name for S&R":"PandasShowDataFrame"},"widgets_values":[" A B\nIndex C \nX Dog apple 10\nY Cat banana 20\nZ Rabbit coconut 30\nW Dog donut 40"]},{"id":67,"type":"PandasSetIndex","pos":[-1046.9400634765625,3486.258544921875],"size":[315,106],"flags":{},"order":5,"mode":0,"inputs":[{"name":"dataframe","type":"DATAFRAME","link":76}],"outputs":[{"name":"DATAFRAME","type":"DATAFRAME","links":[72,80],"slot_index":0}],"properties":{"Node name for S&R":"PandasSetIndex"},"widgets_values":["B",true,true]},{"id":74,"type":"PandasCreateWithIndex","pos":[-1307.4989013671875,3888.37060546875],"size":[210,157.9644317626953],"flags":{},"order":0,"mode":0,"inputs":[],"outputs":[{"name":"DATAFRAME","type":"DATAFRAME","links":[82],"slot_index":0}],"properties":{"Node name for S&R":"PandasCreateWithIndex"},"widgets_values":["Index, A,B,C\nX,apple,10,Dog\nY,banana,20,Cat\nZ,coconut,30,Rabbit\nW,donut,40,Dog",0]},{"id":75,"type":"PandasSetIndex","pos":[-1060.0457763671875,3890.282958984375],"size":[315,106],"flags":{},"order":4,"mode":0,"inputs":[{"name":"dataframe","type":"DATAFRAME","link":82}],"outputs":[{"name":"DATAFRAME","type":"DATAFRAME","links":[84,85],"slot_index":0}],"properties":{"Node name for S&R":"PandasSetIndex"},"widgets_values":["C",true,true]},{"id":80,"type":"MarkdownNote","pos":[-698.1348876953125,3896.85693359375],"size":[320,60],"flags":{},"order":1,"mode":0,"inputs":[],"outputs":[],"properties":{},"widgets_values":["### Connected to DataFrame with String MultiIndex"],"color":"#432","bgcolor":"#653"},{"id":79,"type":"MarkdownNote","pos":[-693.662353515625,3498.498291015625],"size":[313.4215393066406,58],"flags":{},"order":2,"mode":0,"inputs":[],"outputs":[],"properties":{},"widgets_values":["### Connected to DataFrame with Integer MultiIndex"],"color":"#432","bgcolor":"#653"},{"id":71,"type":"PandasShowDataFrame","pos":[-497.32952880859375,3643.9404296875],"size":[210,149.5841064453125],"flags":{},"order":8,"mode":0,"inputs":[{"name":"dataframe","type":"DATAFRAME","link":72}],"outputs":[{"name":"STRING","type":"STRING","links":null,"shape":6}],"properties":{"Node name for S&R":"PandasShowDataFrame"},"widgets_values":[" A C\n B \n0 10 apple Dog\n1 20 banana Cat\n2 30 coconut Dog\n3 40 donut Dog"]},{"id":63,"type":"PandasCreate","pos":[-1296.004638671875,3489.03857421875],"size":[210,132.85110473632812],"flags":{},"order":3,"mode":0,"inputs":[],"outputs":[{"name":"DATAFRAME","type":"DATAFRAME","links":[76],"slot_index":0}],"properties":{"Node name for S&R":"PandasCreate"},"widgets_values":["A,B,C\napple,10,Dog\nbanana,20,Cat\ncoconut,30,Dog\ndonut,40,Dog"]}],"links":[[72,67,0,71,0,"DATAFRAME"],[76,63,0,67,0,"DATAFRAME"],[80,67,0,72,0,"DATAFRAME"],[81,72,0,73,0,"DATAFRAME"],[82,74,0,75,0,"DATAFRAME"],[83,77,0,78,0,"DATAFRAME"],[84,75,0,76,0,"DATAFRAME"],[85,75,0,77,0,"DATAFRAME"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.8936655747208404,"offset":[1278.415275533177,-3326.2076217917866]},"node_versions":{"data-analysis":"554d9dda206203af7225966e218bb0ff8357bf76"},"ue_links":[]},"version":0.4} \ No newline at end of file diff --git a/modules/pandas_wrapper/pandas_loc_row_multiindex_dataframe.py b/modules/pandas_wrapper/pandas_loc_row_multiindex_dataframe.py new file mode 100644 index 0000000..9e17fae --- /dev/null +++ b/modules/pandas_wrapper/pandas_loc_row_multiindex_dataframe.py @@ -0,0 +1,66 @@ +from typing import Any, Dict +import pandas as pd + +class PandasLocRowMultiIndexDataFrame: + """ + Selects a row from a pandas DataFrame with MultiIndex and output as a DataFrame. + + Specify comma-separated MultiIndex labels (row index) and the data type for the MultiIndex to select a row. + + Below screenshots illustrate these options: + ![PandasLocRowMultiIndexDataFrame](../images/multiindex.png) + + The top DataFrame has an integer-type MultiIndex, while the bottom DataFrame has a string-type MultiIndex. In both cases, two index values are specified to select a single row while the correct MultiIndex data type is also selected. Note that mixed data types for MultiIndex are not currently supported. + + category: Data subset selection + """ + + @classmethod + def INPUT_TYPES(cls) -> Dict[str, Any]: + """ + Defines the input types for the function. + + Returns: + Dict[str, Any]: A dictionary specifying required input types. + """ + return { + "required": { + "dataframe": ("DATAFRAME", {}), + "row_index": ("STRING", {"default": ""}), + "row_index_type":(("string", "int"),) + } + } + + RETURN_TYPES: tuple = ("DATAFRAME",) + FUNCTION: str = "f" + CATEGORY: str = "Data Analysis" + + def f(self, dataframe: pd.DataFrame, + row_index: str, + row_index_type: str) -> tuple: + """ + Selects a specific row using a comma-separated MultiIndex labels (row index) from a pandas DataFrame, and returns the DataFrame. + + Args: + dataframe (DataFrame): The DataFrame. + row_index (str): A comma-separated MultiIndex label for the row. + row_index_type (str): The data type of the row index. + + Returns: + tuple: A tuple containing the Pandas DataFrame. + """ + # We need to pass a tuple of MultiIndex. + # e.g. if the first index is A, second is B, we need to pass: + # ("A", "B") + ind_list = [ind.strip() for ind in row_index.split(",")] + + # This will throw an exception if the MultiIndex is not an int. + if row_index_type == "int": + ind_list = [int(ind) for ind in ind_list] + + ind_tuple = tuple(ind_list) + + # We need to wrap it to get the DataFrame. Otherwise, we will get a Series. + ind_tuple_list = [ind_tuple] + value = dataframe.loc[ind_tuple_list] + return (value,) diff --git a/pyproject.toml b/pyproject.toml index 8ca92e3..1614496 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "data-analysis" description = "Data analysis custom modules for ComfyUI - Use Pandas & Matplotlib within ComfyUI" -version = "1.1.15" +version = "1.1.16" license = {file = "LICENSE"} [project.urls]