如何记录过滤函数对熊猫数据框架的效果?

问题描述 投票:0回答:1
我的数据管道定期包括一些过滤步骤,其中数据框中进入过滤功能并以较少的行返回。当然,可以在每个过滤步骤中记录丢失多少数据,但是我厌倦了每次设置自定义记录/打印逻辑。我可以使用一个工具来简化这一点吗?

pandas dataframe logging filter decorator
1个回答
0
投票
log_rowcount_change

,用于数据框架过滤功能的装饰符(示例应用程序),该功能记录了以原始计数和百分比术语来记录行更改。这对于调试或监视滤波器在数据管道中的影响很有用。 ,例如,这是一个简单的过滤功能,其中包括装饰器:

import logging import pandas as pd from pandahandler.frames.decorators.framesize import log_rowcount_change logger = logging.getLogger(__name__) @log_rowcount_change(logger=logger) def drop_if_any_null(df: pd.DataFrame) -> pd.DataFrame: """Drop rows with any null values.""" return df.dropna()

Saving^^作为一个模块,然后在其他脚本中调用它
my_filters_module

produces

import logging

import pandas as pd

from my_filters_module import drop_if_any_null

logging.basicConfig(level=logging.INFO)
df = pd.DataFrame({"a": [1, 2, None], "b": [None, 4, 5]})
df_filtered = drop_if_any_null(df)

	

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.