我必须记录一些包含敏感信息的熊猫数据框输出。我宁愿没有此信息在日志中或在终端中打印。

我通常编写一个小的函数,该函数可以使用字符串并使用正则表达式对其进行屏蔽,但是使用数据框很难做到这一点。无论如何,是否有数据掩盖数据框中的一列敏感信息仅用于记录?我在下面尝试过的方法更改了数据框,使该列无法使用。

def hide_by_pd_df_columns(dataframe,columns,replacement=None):
    '''hides/replaces a pandas dataframe column with a replacement'''
    for column in columns:
        replacement = '*****' if replacement is None else replacement
        dataframe[column] = replacement
    return dataframe


我想发生的是*****掩码仅存在于日志记录中,而不存在于其余操作中。

最佳答案

如果要保留原始df,请确保数据框:

def hide_by_pd_df_columns(dataframe,columns,replacement=None):
    '''hides/replaces a pandas dataframe column with a replacement'''
    df=dataframe.copy()
    for column in columns:
        replacement = '*****' if replacement is None else replacement
        df[column] = replacement
    return df

关于python - 如何在日志记录输出中屏蔽pandas数据框列?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56570282/

10-15 22:51