- a_dataframe
- b_dataframe
- DATAFRAME
Of all the arithmetic nodes in the pack, this is the one you'll use least often - and that's fine. Pandas Pow raises one DataFrame to the power of another, element by element, which is exactly the kind of operation you need maybe twice in a data project and then never again. Think of it as the exponentiation version of add/multiply: given two identically shaped tables, every cell in a gets raised to the matching cell in b.
The real reason to know it exists is that it rounds out the math story in the HowToSD/ComfyUI-Data-Analysis pack. The author wrapped pandas' arithmetic operators as a family of nodes - add, sub, div, pow - so anything you'd type into a pandas expression in Python, you can also wire together visually in ComfyUI. This is the full operator version; if you only need a single scalar or a Series as the exponent, the pack has leaner nodes for those too.
How it works
Internally it's one call: a_dataframe.pow(b_dataframe). Because pandas arithmetic aligns on index and columns labels, the two DataFrames don't strictly need identical shapes - pandas will match up rows and columns by label and leave NaN anywhere there's no partner. That's a feature until it isn't: if your tables were built in different orders, the alignment still works; if they use different labels, you get a grid of NaN and a very confusing result.
Inputs and output
a_dataframe- the base, the thing being raised.b_dataframe- the exponent grid.
One DATAFRAME output, same shape as the inputs (where labels align). From there it flows into the rest of the pack like any other table.
Installation
Same story as the whole pack. Manager is the easy path - search Data analysis in the Custom Node Manager and install ComfyUI-Data-Analysis. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/HowToSD/ComfyUI-Data-Analysis.git
mv ComfyUI-Data-Analysis data-analysis # examples rely on this folder name
pip install -r requirements.txt
Restart and reload. Dependencies are pandas, matplotlib, seaborn, scipy, scikit-learn, openpyxl, and lxml - no GPU, no model downloads. The PyTorch wrapper nodes were split into a separate extension back in March 2025, so don't go hunting for them here.
When you'd actually use it
Mostly in modeling-type pipelines: square a residuals table, raise a probability grid to a power to sharpen it, or just experiment during analysis. If you catch yourself reaching for it constantly, you might be overcomplicating your workflow - but for the occasional "raise every cell by the matching cell," this is the node. The alignment gotcha is the only real footgun, so when the output comes back all NaN, check your labels before anything else.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| a_dataframe | DATAFRAME | — | |
| b_dataframe | DATAFRAME | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| DATAFRAME | DATAFRAME | — |