Есть ли способ скрыть или замаскировать значения в столбце фрейма данных? - PullRequest
0 голосов
/ 23 апреля 2019

Я пытаюсь замаскировать все IP-адреса в столбце DataFrame. У меня есть DataFrame со столбцами, которые содержат IP-адреса. Из соображений конфиденциальности и безопасности мне нужно скрыть \ замаскировать первые 2 октета, когда DataFrame отображается в виде таблицы или отображается с помощью Plotly. Какой подход, по вашему мнению, будет лучше? Единственный способ сделать это - создать дополнительный столбец и использовать функцию apply для обработки IP в формате X.X.1.1.

Ответы [ 2 ]

0 голосов
/ 23 апреля 2019
import pandas as pd
from pandas.compat import StringIO

print(pd.__version__)

csvdata = StringIO("""IP
192.168.1.10
192.168.1.11
192.168.1.12
192.168.1.13""")

df = pd.read_csv(csvdata)
df['IP'] = df['IP'].apply(lambda x: "X.X."+".".join(x.split('.')[2:4]))
print(df)

Будет производить

0.24.2
         IP
0  X.X.1.10
1  X.X.1.11
2  X.X.1.12
3  X.X.1.13

И, возможно, это лучший способ «отредактировать» данные в DataFrame

0 голосов
/ 23 апреля 2019

Ваш подход не кажется неправильным.Вы также можете дублировать набор данных и зашифровать копию (в случае, если вы хотите сохранить новый набор данных).

Или, если вы просто хотите сохранить конфиденциальность, вы можете использовать методы анонимизации.Это поможет вам в больших проектах, когда вы хотите сохранить конфиденциальность, вот несколько ссылок

https://en.wikipedia.org/wiki/Data_anonymization https://iapp.org/resources/article/guide-to-basic-data-anonymization-techniques/

...