python - 我正在尝试根据由 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()
我得到两件事:
ValueError:索引包含重复的条目,无法重塑
这个离奇的情节:
有什么见解吗?
解决方案
您的数据中似乎有重复的定位数据,您可以尝试
data.duplicated(['X', 'Y']).any()
如果返回 True,那么您可以对 X,Y 进行 groupby,然后使用 unstack。考虑下面的代码:
data.groupby(['X', 'Y']).mean().unstack()
推荐阅读
- bash - Bash脚本如何从文件中读取数据或者可能是更好的方法?
- algorithm - 为试点问题寻找更好的算法
- scikit-learn - 决策树不平衡数据:一叶数据高度集中
- javascript - 使用 setAttribute 的 onClick 属性不起作用
- javascript - 错误:“无法连接到 MongoDB Atlas 集群中的任何服务器。” 即使在 IP 地址被列入白名单之后
- php - 我是否必须从 laravel 中每个控制器的数据库中返回标头数据?
- android - 更新到 Android Studio 4.2 后无法创建新的 Kotlin 项目
- blockchain - 在以太坊上每轮广播的块
- javascript - 如何从 Node-red 中的嵌套 JSON 有效负载中提取“temp”的值?
- python - Django Prefecth - 在过滤器中调用根元素字段