# 需要将离散的数据放入一定的区间 离散化连续数据
import pandas as pd
ages = [15, 19, 25, 22, 30, 45, 66, 70, 58]
bins = [0, 12, 25, 45, 50, 100] # 设置区间(0,12],(12,25],(25,45],(45,50],(50,100]
cuts = pd.cut(ages, bins) # ages数据在bins的区间,15属于(12,25],19在(12,25]。。。
print(cuts)
'''
使用cut()函数获取ages的数值属于bins的区间
'''
print(cuts.value_counts()) # 统计不同区间的个数
# 哑变量
df = pd.DataFrame({"职业": ["工人", "学生", "司机", "教师", "导游"]})
print(pd.get_dummies(df, prefix=['职业'], prefix_sep='*'))
# df:原始数据,需要转换为哑变量的数据 prefix:生成的列名的前缀名 prefix_sep:列名中前缀名与原始数据之间的分隔符
'''
职业*司机 职业*学生 职业*导游 职业*工人 职业*教师
0 0 0 0 1 0
1 0 1 0 0 0
2 1 0 0 0 0
3 0 0 0 0 1
4 0 0 1 0 0
'''
pandas--哑变量和离散化连续数据
最新推荐文章于 2024-06-14 09:50:01 发布