Skip to main content

pandas nodes for funcnodes

Project description

funcnodes-pandas

funcnodes-pandas is an extension for the Funcnodes framework that allows you to manipulate Pandas DataFrames and Series using FuncNodes' visual node-based system. It provides a collection of nodes for performing typical operations on Pandas data structures, such as conversions, data manipulations, and calculations.

This library enables no-code and low-code workflows for Pandas by providing drag-and-drop functionality in a visual interface. It also supports Python-based scripting to handle more complex operations.

Features

  • DataFrame Conversion:

    • Convert DataFrames to dictionaries and vice versa.
    • Handle CSV and Excel files easily using DataFrame nodes.
  • Data Manipulation:

    • Add, drop, and manipulate rows and columns of a DataFrame.
    • Handle missing data with nodes for fillna, dropna, ffill, and bfill.
    • Perform merges and joins with intuitive nodes for merge, concatenate, and join.
  • Math & Statistical Operations:

    • Perform descriptive statistics like mean, sum, std, var, and corr.
    • Evaluate custom expressions directly on DataFrames using the eval node.
  • Masking & Filtering:

    • Apply masks to filter DataFrame data.
    • Use conditions to filter rows and columns dynamically.
  • Grouping & Aggregation:

    • Group data using groupby and aggregate it with sum, mean, count, etc.
    • Easily convert groups into lists of DataFrames.
  • Series Support:

    • Nodes for converting Series to lists and dictionaries.
    • Access individual elements using iloc and loc.
    • Perform string operations on Series.

Installation

Install the package with:

pip install funcnodes-pandas

Ensure that you have Pandas and FuncNodes installed.

Getting Started

Here's an overview of the basic programmatically usage of funcnodes-pandas.

  1. Convert a DataFrame to a Dictionary
import pandas as pd
import funcnodes_pandas as fnpd

df = pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]})
node = fnpd.to_dict()
node.inputs['df'].value = df
await node
print(node.outputs['dict'].value)

This code converts a DataFrame to a dictionary using the to_dict node.

  1. Filling Missing Data
node = fnpd.fillna()
node.inputs["df"].value = df
node.inputs["value"].value = 0
await node
print(node.outputs["out"].value)

The fillna node fills missing data in a DataFrame.

  1. Group By Operations
node = fnpd.group_by()
node.inputs["df"].value = df
node.inputs["by"].value = "A"
await node
print(node.outputs["grouped"].value)

This groups data based on column A in the DataFrame.

Testing

The repository contains a suite of tests to ensure that the various functionalities of funcnodes-pandas work as expected. The tests are based on unittest and IsolatedAsyncioTestCase. You can run the tests using:

python -m unittest discover

Test cases for operations such as groupby, add_column, dropna, etc., are included.

Contribution

Feel free to contribute to this project by submitting pull requests. You can help by adding new nodes, fixing bugs, or enhancing documentation.

License

This project is licensed under the MIT License.

Contact

For any questions or issues, please open an issue on the GitHub repository.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

funcnodes_pandas-1.0.0.tar.gz (236.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

funcnodes_pandas-1.0.0-py3-none-any.whl (34.8 kB view details)

Uploaded Python 3

File details

Details for the file funcnodes_pandas-1.0.0.tar.gz.

File metadata

  • Download URL: funcnodes_pandas-1.0.0.tar.gz
  • Upload date:
  • Size: 236.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for funcnodes_pandas-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c401e365cb6ed21ea0b12222d077a6b1d269710f601fca0089d23e671d4ead2e
MD5 0f08c76f32a9d61fa4de1b9ed92235f4
BLAKE2b-256 25aba30976239980a4428bf819edc61610a907487f65f809bfdbb71ab6026694

See more details on using hashes here.

Provenance

The following attestation bundles were made for funcnodes_pandas-1.0.0.tar.gz:

Publisher: version_publish_main.yml on Linkdlab/funcnodes_pandas

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file funcnodes_pandas-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for funcnodes_pandas-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f59f5edb82c7dadedf6eaf5192ccaf9a364dabe97e3d2f4d17f1649ec44f48e8
MD5 d559f23b237eb15aee953da419331ba8
BLAKE2b-256 5cb1d8c2568cd0dd120c3e3cefd8a0c23fd5db28e5c79fd192b367ab418f2ae5

See more details on using hashes here.

Provenance

The following attestation bundles were made for funcnodes_pandas-1.0.0-py3-none-any.whl:

Publisher: version_publish_main.yml on Linkdlab/funcnodes_pandas

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page