A small package to optimize memory usage of Pandas DataFrames
Project description
DF-Squeezer
DF-Squeezer is a Python package designed to help reduce the memory usage of pandas DataFrames. By analyzing the data types of DataFrame columns, DF-Squeezer suggests and can automatically apply data type conversions that are more memory-efficient without losing information.
Features
- Analysis of DataFrame Columns: Identifies columns that can be converted to more memory-efficient data types.
- Memory Usage Reporting: Calculates and reports the potential memory savings from suggested conversions.
- Automatic Conversion Application: Optionally applies suggested conversions directly to the DataFrame.
Installation
To install DF-Squeezer, run the following command in your terminal:
pip install df-squeezer
Ensure you have pandas installed in your environment as it is a required dependency.
Usage
from df_squeezer import df_squeeze
import pandas as pd
# Sample DataFrame
df = pd.DataFrame({
'a': range(1000),
'b': [float(i) for i in range(1000)],
'c': ['category' + str(i % 3) for i in range(1000)]
})
# Use df_squeeze to analyze and report potential dtype conversions
optimized_df = df_squeeze(df, report=True, edit=False)
# To directly apply the suggested conversions
optimized_df = df_squeeze(df, report=True, edit=True)
Parameters
df (pd.DataFrame): The input DataFrame to analyze and optimize. report (bool, optional): If True (default), prints suggested changes for data type conversions along with potential memory savings. edit (bool, optional): If False (default), the function only reports potential optimizations without applying them. If True, the function applies the suggested data type conversions directly to the DataFrame. Returns pd.DataFrame: The original DataFrame with applied changes if edit=True. Otherwise, returns the original DataFrame unmodified. Contributing Contributions to DF-Squeezer are welcome! Please refer to the contribution guidelines for more information.
License This project is licensed under the MIT License - see the LICENSE file for details.
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
File details
Details for the file df-squeezer-0.0.2.tar.gz.
File metadata
- Download URL: df-squeezer-0.0.2.tar.gz
- Upload date:
- Size: 2.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6fd4d871e5ce6ebc040955983bf513eb6749dc0cb8ec1f997894d92466082ebe
|
|
| MD5 |
9e3096ff3a6bf76d34f3e38edc04da68
|
|
| BLAKE2b-256 |
bd9bf94c0fe00dd76b5edfcca6ad2c998f34e9e5f44f73bb73601ec31ef66c6b
|