脱敏算法—age脱敏

对年龄进行脱敏的方法有以下几种:

1. 年龄分组脱敏:将年龄按照一定的区间进行分组,例如0-10岁、11-20岁等,然后将实际年龄替换为对应的分组标识,如"A组"、"B组"等。

2.年龄区间:将具体的年龄转化为一个区间,例如将25岁转化为20-30岁。

3. 年龄替换脱敏:将实际年龄进行模糊化处理,例如将具体的年龄转换为年龄段,如"青少年"、"中年"、"老年"等。

4.年龄模糊化:将年龄进行模糊化处理,例如将具体的年龄四舍五入到最近的十位数,例如将27岁模糊化为30岁。

5. 年龄随机化脱敏:将实际年龄随机替换为一个在一定范围内的随机数,保持数据的统计特性。

6. 年龄哈希脱敏:使用哈希算法对实际年龄进行加密处理,将加密后的结果作为脱敏后的年龄。

7. 年龄加减法脱敏:对实际年龄进行加减法操作,例如随机加减一个固定的值,使得脱敏后的年龄与实际年龄相差不超过一定范围。

8. 年龄伪造脱敏:将实际年龄替换为一个与实际年龄相似但不准确的年龄,例如将年龄加上一个随机的偏移量。

年龄替换脱敏 

#import xlwt  # 先安装pip install
import datetime  # 注意一定要用datetime package
import pandas as pd

def age_desensitization(data):
    age_mapping = {
        '0-18': '少年',
        '19-30': '青年',
        '31-45': '中年',
        '46-60': '中老年',
        '61+': '老年'
    }

    for i in range(len(data)):
        age = data[i]
        if age <= 18:
            data[i] = age_mapping['0-18']
        elif age <= 30:
            data[i] = age_mapping['19-30']
        elif age <= 45:
            data[i] = age_mapping['31-45']
        elif age <= 60:
            data[i] = age_mapping['46-60']
        else:
            data[i] = age_mapping['61+']


df = pd.read_csv('D://Codes/data set/data_wuliu.csv', encoding="utf-8",sep=',')
print(df.head())
#测试数据列
ages = df['age']
# 脱敏处理
age_desensitization(ages)
# 打印脱敏后的数据
#print(ages)
print(df)

# 保存文件
#df.to_excel('D://Codes/data set/data_wulius.xlsx', index=False)
'''
 中老年  
 中年    
 中老年
'''

年龄区间脱敏年龄分组脱敏 只需要改变一下下面的分组命名,逻辑是一样的。

    age_mapping = {
        '0-18': '[0,1]',
        '19-30': '[19,30]',
        '31-45': '[31,45]',
        '46-60': '[46,60]',
        '61+': '[61+]'
    }
'''
 [46,60]   
 [31,45]  
 [46,60] 
'''

年龄模糊化

import pandas as pd
df = pd.read_csv('D://Codes/data set/data_wuliu.csv', encoding="utf-8",sep=',')
print(df.head())

age_list = df['age']
# 遍历替换 调用函数
for i in range(len(age_list)):
    age1 = age_list[i]
    #round()对数字进行四舍五入
    #把整个数字看做数轴,小数点是原点,参数的数字对应哪一位就对那一位上的数字四舍五入
    age = round(age1,-1) 
    age_list[i] = age
print(df)
'''
50
40
50
'''

年龄随机化

#使用随机函数,指定一个范围内
age = random.randint(20, 60)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值