# 資料離散化處理
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實現資料分組【知道】
get_dummies實現啞變數矩陣【知道】
資料離散化處理
離散化,把無限空間中有限的個體對映到有限的空間中去,以此提高演算法的時空效率。通俗的說,離散化是在不改變資料相對大小的條件下,對資料進行相應的縮小。例如 原資料 1,999,100000,15 處理後 1,3,4,2 原資料 處理後 例如有時需要將資料直接作為陣列下標,但因為資料太大而無法開陣列時,...
資料離散化處理
離散化處理有幾個方法 方法一 適用於所有情況 sort unique lower bound 三段式 關於這幾個函式請見我的另一篇部落格 1 申請兩個陣列num和numcopy 這個陣列是num的副本 2 利用unique函式對num陣列進行去重 3 利用lower bound函式獲得numcopy...
資料離散化處理
有時候,我們需要使用陣列下標來維護某些資料結構 例如並查集 但如果資料範圍太大我們開不了這麼大的陣列,這時候,我們就要將資料進行離散化。例如資料我們可以根據相對大小關係67542347 75331434 87433476 99844531來開乙個新陣列編號,二分查詢在新陣列裡的編號。如b 1 675...