From 8a59b2f5c6d4975c7d276eda7ddabd5bb2b3e2f5 Mon Sep 17 00:00:00 2001 From: HowToSD Date: Sun, 16 Feb 2025 21:42:37 -0800 Subject: [PATCH] Added Pandas Is NA and Pandas Drop NA nodes. --- __init__.py | 6 ++++ docs/images/isna.png | Bin 0 -> 89797 bytes docs/ug.md | 11 +++++++ modules/pandas_wrapper/pandas_dropna.py | 42 ++++++++++++++++++++++++ modules/pandas_wrapper/pandas_isna.py | 42 ++++++++++++++++++++++++ pyproject.toml | 2 +- 6 files changed, 102 insertions(+), 1 deletion(-) create mode 100644 docs/images/isna.png create mode 100644 modules/pandas_wrapper/pandas_dropna.py create mode 100644 modules/pandas_wrapper/pandas_isna.py diff --git a/__init__.py b/__init__.py index a9170bb..7934a6e 100644 --- a/__init__.py +++ b/__init__.py @@ -6,11 +6,13 @@ from .modules.matplotlib.mpl_scatter import MPLScatter from .modules.pandas_wrapper.pandas_columns import PandasColumns from .modules.pandas_wrapper.pandas_create import PandasCreate from .modules.pandas_wrapper.pandas_create_with_index import PandasCreateWithIndex +from .modules.pandas_wrapper.pandas_dropna import PandasDropNA from .modules.pandas_wrapper.pandas_group_by import PandasGroupBy from .modules.pandas_wrapper.pandas_head import PandasHead from .modules.pandas_wrapper.pandas_iloc_row_series import PandasIlocRowSeries from .modules.pandas_wrapper.pandas_iloc_rows_dataframe import PandasIlocRowsDataFrame from .modules.pandas_wrapper.pandas_index import PandasIndex +from .modules.pandas_wrapper.pandas_isna import PandasIsNA from .modules.pandas_wrapper.pandas_join import PandasJoin from .modules.pandas_wrapper.pandas_load_csv import PandasLoadCSV from .modules.pandas_wrapper.pandas_load_csv_with_encoding import PandasLoadCSVWithEncoding @@ -39,11 +41,13 @@ NODE_CLASS_MAPPINGS: Dict[str, Type[T]] = { "PandasColumns": PandasColumns, "PandasCreate": PandasCreate, "PandasCreateWithIndex": PandasCreateWithIndex, + "PandasDropNA": PandasDropNA, "PandasGroupBy": PandasGroupBy, "PandasHead": PandasHead, "PandasIlocRowSeries": PandasIlocRowSeries, "PandasIlocRowsDataFrame": PandasIlocRowsDataFrame, "PandasIndex": PandasIndex, + "PandasIsNA": PandasIsNA, "PandasJoin": PandasJoin, "PandasLoadCSV": PandasLoadCSV, "PandasLoadCSVWithEncoding": PandasLoadCSVWithEncoding, @@ -75,11 +79,13 @@ NODE_DISPLAY_NAME_MAPPINGS: Dict[str, str] = { "PandasColumns": "Pandas Columns", "PandasCreate": "Pandas Create", "PandasCreateWithIndex": "Pandas Create With Index", + "PandasDropNA": "Pandas Drop NA", "PandasGroupBy": "Pandas Group By", "PandasHead": "Pandas Head", "PandasIlocRowSeries": "Pandas Iloc Row Series", "PandasIlocRowsDataFrame": "Pandas Iloc Rows DataFrame", "PandasIndex": "Pandas Index", + "PandasIsNA": "Pandas Is NA", "PandasJoin": "Pandas Join", "PandasLoadCSV": "Pandas Load CSV", "PandasLoadCSVWithEncoding": "Pandas Load CSV With Encoding", diff --git a/docs/images/isna.png b/docs/images/isna.png new file mode 100644 index 0000000000000000000000000000000000000000..a210d2c2e591fb5daf1f1c79d4e060550bf27e21 GIT binary patch literal 89797 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 %?*0OU(ZTJv{n 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 literal 0 HcmV?d00001 diff --git a/docs/ug.md b/docs/ug.md index 341d273..8b0ab9e 100644 --- a/docs/ug.md +++ b/docs/ug.md @@ -52,6 +52,12 @@ You can right-click, select **Add Node**, go to **Data Analysis**, and look for | **Pandas Show Text** | Display Text | | **Pandas Summary** | Extract DataFrame statistics | +**Missing value processing** +| Node Name | Functionality | +|-------------------------|-------------------------------------| +| **Pandas Is NA** | Check DataFrame for missing values | +| **Pandas Drop NA** | Drop missing values from DataFrame | + **Converting to displayable string** | Node Name | Functionality | |-------------------------|-------------------------------------| @@ -173,6 +179,11 @@ The workflow file examples/workflows/join.json contains all of the above cases. ## Extract the first few rows Use **Pandas Head**. +## Missing value processing +Use **Pandas Is NA** for checking DataFrame for missing values, and **Pandas Drop NA** for dropping missing values from DataFrame. + +![Pandas Is NA](images/isna.png) + ## Display text ## Use **Pandas Show Text** node. diff --git a/modules/pandas_wrapper/pandas_dropna.py b/modules/pandas_wrapper/pandas_dropna.py new file mode 100644 index 0000000..75bf1dd --- /dev/null +++ b/modules/pandas_wrapper/pandas_dropna.py @@ -0,0 +1,42 @@ +from typing import Any, Dict +from io import StringIO +import pandas as pd +from .utils import index_to_jsons + +class PandasDropNA: + """ + PandasColumns: + A class for droping missing values from a pandas DataFrame. + """ + + @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_json": ("STRING", {"multiline": True}) + } + } + + RETURN_TYPES: tuple = ("STRING",) + FUNCTION: str = "dropna" + CATEGORY: str = "Data Analysis" + + def dropna(self, dataframe_json: str) -> tuple: + """ + Returns a DataFrame with missing values removed. + + Args: + dataframe_json (str): A JSON string representation of the DataFrame. + + Returns: + tuple: A tuple containing a JSON string for the DataFrame. + """ + # Deserialize JSON string to DataFrame + df = pd.read_json(StringIO(dataframe_json)) + return (df.dropna().to_json(),) diff --git a/modules/pandas_wrapper/pandas_isna.py b/modules/pandas_wrapper/pandas_isna.py new file mode 100644 index 0000000..bcf7b85 --- /dev/null +++ b/modules/pandas_wrapper/pandas_isna.py @@ -0,0 +1,42 @@ +from typing import Any, Dict +from io import StringIO +import pandas as pd +from .utils import index_to_jsons + +class PandasIsNA: + """ + PandasColumns: + A class for checking a pandas DataFrame for missing values. + """ + + @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_json": ("STRING", {"multiline": True}) + } + } + + RETURN_TYPES: tuple = ("STRING",) + FUNCTION: str = "isna" + CATEGORY: str = "Data Analysis" + + def isna(self, dataframe_json: str) -> tuple: + """ + Returns a DataFrame with boolean values with True indicating a missing value. + + Args: + dataframe_json (str): A JSON string representation of the DataFrame. + + Returns: + tuple: A tuple containing a JSON string for the DataFrame. + """ + # Deserialize JSON string to DataFrame + df = pd.read_json(StringIO(dataframe_json)) + return (df.isna().to_json(),) diff --git a/pyproject.toml b/pyproject.toml index ec6259a..2d346f3 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.0.17" +version = "1.0.18" license = {file = "LICENSE"} [project.urls]