Pandas数据离散化处理

# 数据离散化处理
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实现哑变量矩阵【知道】
posted @ 2021-01-18 21:56  夜月薇凉映银弩  阅读(202)  评论(0编辑  收藏  举报