Как замаскировать столбец данных pandas в выходных данных журнала? - PullRequest
1 голос
/ 12 июня 2019

Мне нужно зарегистрировать некоторые выходные данные с данными pandas, которые содержат конфиденциальную информацию. Я бы предпочел не иметь эту информацию в журналах или распечатать в терминале.

Обычно я пишу небольшую функцию, которая может взять строку и замаскировать ее с помощью регулярного выражения, но у меня возникают проблемы при выполнении этого с фреймом данных. Есть ли в любом случае, чтобы замаскировать столбец (ы) конфиденциальной информации во фрейме данных только для регистрации? Метод, который я опробовал ниже, изменяет фрейм данных, делая столбец непригодным для использования в дальнейшем.

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

Я хочу, чтобы маска ***** существовала только в журнале, а не в остальных операциях.

1 Ответ

1 голос
/ 13 июня 2019

Убедитесь, что df.copy датафрейм, если вы хотите оставить исходный 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
...