# 数据离散化处理
import pandas as pd
import matplotlib.pyplot as plt
from pylab import mpl
# 设置显示中文字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]
data = pd.read_csv("../data/stock_day.csv")
# 取p_change这一列
data_p = data["p_change"]
# print(data_p.head())
# pd.qcut(data, q):
# 对数据进行分组将数据分组,一般会与value_counts搭配使用,统计每组的个数
# series.value_counts():统计分组次数
# 自行分组
qcut = pd.qcut(data_p, 10)
# 计算分到每个组数据个数
qcut.value_counts()
# 自己指定分组区间
bins = [-100, -7, -5, -3, 0, 3, 5, 7, 100]
p_counts = pd.cut(data_p, bins)
# print(p_counts)
# 得出one-hot编码矩阵
dummies = pd.get_dummies(p_counts, prefix="rise")
print(dummies)
小结
- 数据离散化【知道】
- 可以用来减少给定连续属性值的个数
- 在连续属性的值域上,将值域划分为若干个离散的区间,最后用不同的符号或整数值代表落在每个子区间中的属性值。
- qcut、cut实现数据分组【知道】
- qcut:大致分为相同的几组
- cut:自定义分组区间
- get_dummies实现哑变量矩阵【知道】