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, andbfill. - Perform merges and joins with intuitive nodes for
merge,concatenate, andjoin.
-
Math & Statistical Operations:
- Perform descriptive statistics like
mean,sum,std,var, andcorr. - Evaluate custom expressions directly on DataFrames using the
evalnode.
- Perform descriptive statistics like
-
Masking & Filtering:
- Apply masks to filter DataFrame data.
- Use conditions to filter rows and columns dynamically.
-
Grouping & Aggregation:
- Group data using
groupbyand aggregate it withsum,mean,count, etc. - Easily convert groups into lists of DataFrames.
- Group data using
-
Series Support:
- Nodes for converting Series to lists and dictionaries.
- Access individual elements using
ilocandloc. - 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.
- 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.
- 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.
- 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.
Metadata
Release files for funcnodes-pandas 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| funcnodes_pandas-1.0.0.tar.gz | 236.6 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| funcnodes_pandas-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 271.4 kB
Release files / funcnodes_pandas-1.0.0.tar.gz
| Download URL | funcnodes_pandas-1.0.0.tar.gz |
|---|---|
| Size | 236.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c401e365cb6ed21ea0b12222d077a6b1d269710f601fca0089d23e671d4ead2e
|
|
BLAKE2b-256 checksum How to use checksums |
25aba30976239980a4428bf819edc61610a907487f65f809bfdbb71ab6026694
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2025.
Transparency logRelease files / funcnodes_pandas-1.0.0-py3-none-any.whl
| Download URL | funcnodes_pandas-1.0.0-py3-none-any.whl |
|---|---|
| Size | 34.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f59f5edb82c7dadedf6eaf5192ccaf9a364dabe97e3d2f4d17f1649ec44f48e8
|
|
BLAKE2b-256 checksum How to use checksums |
5cb1d8c2568cd0dd120c3e3cefd8a0c23fd5db28e5c79fd192b367ab418f2ae5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2025.
Transparency logSecurity for funcnodes-pandas 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for funcnodes_pandas-1.0.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2025.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.