Pint-Pandas

0.8.0 · active · verified Thu Apr 16

Pint-Pandas is a Python library that extends Pandas DataFrames and Series to seamlessly integrate physical quantities with units, leveraging the Pint library. It enables units-aware operations directly within Pandas data structures, ensuring dimensional consistency and preventing common unit errors. The library is actively maintained, with version 0.8.0 released on March 19, 2026. It's important to note that the Pandas integration is still considered experimental by the underlying Pint project.

Common errors

Warnings

Install

Imports

Quickstart

This quickstart demonstrates how to create a Pandas DataFrame with unit-aware columns using `pint[unit]` dtypes. It then shows how to perform arithmetic operations that automatically handle unit conversions and dimensional analysis. Finally, it illustrates how to convert units of a Series using the `.pint` accessor.

import pandas as pd
import pint
import pint_pandas

# Create a DataFrame with PintArrays as columns
df = pd.DataFrame({
    "torque": pd.Series([1.0, 2.0, 2.0, 3.0], dtype="pint[lbf ft]"),
    "angular_velocity": pd.Series([1.0, 2.0, 2.0, 3.0], dtype="pint[rpm]"),
})

print("Original DataFrame:\n", df)
print("\nData Types:\n", df.dtypes)

# Perform units-aware operations
df['power'] = df['torque'] * df['angular_velocity']

print("\nDataFrame with calculated 'power':\n", df)
print("\nData Types after calculation:\n", df.dtypes)

# Access magnitudes or convert units
print("\nPower in Watts:\n", df['power'].pint.to('W'))

view raw JSON →