我使用Password_Prompt PassWindow = new Password_Prompt();
EventHandler handler = null;
handler = (s, e) =>
{
string password = PassWindow.Password;
PassWindow.Closed -= handler;
};
PassWindow.Closed += handler;
PassWindow.Show();
函数在Pandas数据框中定义了2D bin边缘。我正在尝试查看如何将这些bin边缘和每个bin的各种值转换为热图。
我从虹膜数据集开始,对其进行cut
投影,以便每个数据点都有UMAP
x和y坐标。
我使用UMAP
函数将其转换为网格单元格,从而导致x和y中的bin边缘。然后我得到每个网格单元对应的特征的平均值。
现在,人们如何才能从中获得热图,例如Seaborn热图?逐个功能地使用此功能,第一个将是每个2D容器(cut
,sepal length (cm)_mean
)的UMAP_x_bin
值的热图。
UMAP_y_bin
答案 0 :(得分:0)
首先,您需要将IntervalIndex
列转换为Single value列。
iris_df .UMAP_x_bin= iris_df .UMAP_x_bin.apply(lambda x: x.mid)
iris_df .UMAP_y_bin= iris_df .UMAP_x_bin.apply(lambda x: x.mid)
然后,您将必须将数据插值到2D值网格上。
您可以使用scipy
。
from scipy.interpolate import griddata
points = np.c_[iris_df .UMAP_x_bin, iris_df .UMAP_y_bin]
values = iris_df ['sepal length (cm)_mean'].to_numpy()
# Choose the range appropriately.
gridx, gridy = np.mgrid[0:100, 0:100]
# interpolate.
data = griddata(points, values, (gridx, gridy), method = 'nearest')
# plot the heatmap
sns.heatmap(data)
PS。根据{{1}}和
的范围适当选择网格范围UMap_x_bin