我必须记录一些包含敏感信息的熊猫数据框输出。我宁愿没有此信息在日志中或在终端中打印。
我通常编写一个小函数,该函数可以接受字符串并使用正则表达式对其进行屏蔽,但是我在使用数据帧进行操作时遇到了麻烦。无论如何,是否有掩盖数据框中的敏感信息列以供记录?我下面尝试的方法更改了数据框,使该列无法使用。
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
我想要发生的是*****掩码仅存在于日志记录中,而不存在于其余操作中。
答案 0 :(得分:1)
如果要保留原始df,请确保df.copy数据框:
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