scipy 的函數rv_histogram非常有用,如果我有一個經驗分布,該分布由我想從中采樣的直方圖給出。因此,我可以對新數據進行采樣,如下面的最小示例所示:import scipy.statsimport numpy as npimport matplotlib.pyplot as pltimport seaborn as snsimport pandas as pdx = np.array(range(2,8))hist_1d = pd.DataFrame(np.array([11., 46., 158., 75., 90., 14.]), index=x)plt.plot(x + 0.5, hist_1d.values)dist = scipy.stats.rv_histogram((hist_1d.values.ravel(), np.array(range(2,9))))plt.hist(dist.rvs(size=500), bins=len(x))現在我想對這個最小示例中給出的 2D 分布執行相同的操作:hist_2d = pd.DataFrame(np.array([[129, 162, 178, 182, 182, 182], [122, 163, 185, 191, 189, 185], [115, 164, 192, 200, 197, 189], [ 94, 136, 158, 162, 157, 152], [ 74, 108, 124, 125, 118, 116], [ 53, 80, 90, 88, 79, 80]]), index=range(2,8), columns=range(8,14))sns.heatmap(hist_2d)但是,rv_histogram函數認為只獲取一維數據 - 或者至少我不知道如何傳遞兩個 bin 邊界向量。這可能嗎,或者 Python 中是否有類似的功能?
添加回答
舉報
0/150
提交
取消