有没有一种方法可以混淆或屏蔽“数据框”列中的值?

时间:2019-04-22 21:44:38

标签: python pandas jupyter-notebook plotly data-analysis

我正在尝试屏蔽DataFrame列中的所有IP。我有一个带有包含IP地址的列的DataFrame。出于隐私和安全原因,当DataFrame显示为表格或使用Plotly绘制图形时,我需要对前两个八位字节进行隐藏/掩码。您认为哪种方法最好?我能想到的唯一方法是增加一列并使用apply函数将IP处理为X.X.1.1格式。

2 个答案:

答案 0 :(得分:0)

您的方法似乎没有错。您还可以复制数据集并加密副本(以防保存新数据集)。

或者,如果您只想保留隐私,则可以使用匿名化技术。当您想保密时,它将在较大的项目中为您提供帮助,以下是一些链接

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

答案 1 :(得分:0)

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

中“编辑”数据的最佳方法