首页 > 解决方案 > 我正在尝试根据由 3 个列表组成的数据框绘制热图,但我得到的只是这个奇怪的东西

问题描述

我建立了这个数据框

data = pd.DataFrame({'X': x, 'Y': y, 'Z': spikes})

从我创建的 3 个列表中,每个 599 个元素长:

x = list_of_xpos
y = list_of_ypos
spikes = list_of_spiking_rate

我正在尝试根据匹配的 x 和 y 位置绘制(神经元的)尖峰率。我需要峰值速率作为热图的强度。我正在使用这个:

data_pivoted = data.pivot("X", "Y", "Z")
ax = sns.heatmap(data_pivoted)
plt.show()

我得到两件事:

  1. ValueError:索引包含重复的条目,无法重塑

  2. 这个离奇的情节:

在此处输入图像描述

有什么见解吗?

标签: pythonpandasseabornheatmap

解决方案


您的数据中似乎有重复的定位数据,您可以尝试

data.duplicated(['X', 'Y']).any()

如果返回 True,那么您可以对 X,Y 进行 groupby,然后使用 unstack。考虑下面的代码:

data.groupby(['X', 'Y']).mean().unstack()

推荐阅读