【发布时间】:2021-04-11 06:09:41
【问题描述】:
我正在处理一个包含计算机名称的数据框,并且我正在尝试匿名化计算机名称。这是我正在使用的数据框的示例
df = pd.DataFrame({'id': [1, 2, 3, 4, 5], 'computer_name': [u'LENOVO 09 X32H0GB', u'LENOVO vmhsbpmh613.xyz.biz', u'Dell Inc. PowerEdge R910 XKF2S75', u'HP ppesfesxb203.corp.123.com', 'IBM SoftLayer 13 L89P4567']})
这是匿名化所需的内容。
-
从 RIGHT 中的第一个 SPACE 之后,从 RIGHT 中选择第一组字符串 .. 例如:对于“LENOVO vmhsbpmh613.xyz.biz”,它将是“vmhsbpmh613.xyz.biz”
-
在从右侧获取第一组字符串后,例如“vmhsbpmh613.xyz.biz”,从第一个点 (.) 中删除所有字符,这将给出“vmhsbpmh613”,如果没有点(.),则保留仅最后一组字符串,请注意,仅从右侧的第一组字符串中删除点 (.) 之后的字符串很重要,否则就像本例中的“Dell Inc. PowerEdge R910 XKF2S75”一样,它将导致删除所有内容在点“戴尔公司”之后
-
最后将前 3 个字符替换为 xxx ,例如 xxxsbpmh613
这是输出的样子
df = pd.DataFrame({'id': [1, 2, 3, 4, 5], 'computer_name': [u'LENOVO 09 xxxH0GB', u'LENOVO xxxsbpmh613', u'Dell Inc. PowerEdge R910 xxx2S75', u'HP xxxsfesxb203', 'IBM SoftLayer 13 xxxP4567']})
希望我能够清楚地表达需求,谢谢。
【问题讨论】: