Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >X Y Z阵列数据到热图

X Y Z阵列数据到热图
EN

Stack Overflow用户
提问于 2017-08-02 20:58:17
回答 1查看 14.2K关注 0票数 8

对于这个问题或满足我需要的问题,我找不到一致的答案--我在一个文本文件的三列中有数据: X、Y和Z。这些列以制表符分隔。我想用Python对这些数据进行热图表示,其中X和Y位置由Z中的值着色,Z值的范围从0到1(X和Y的离散概率)。我尝试过seaborn的heatmap包和matplotlib的pcolormesh网格,但不幸的是它们需要2D数据数组。

我的数据从1到37遍历X,对于常数y,然后在Y中迭代0.1。y max根据数据集波动,但ymin始终为0。

X Y Z第11行...37 0.0000 Zvalue,第21行...37 0.1000 Zvalue等。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import numpy as np
from numpy import *
import pandas as pd
import seaborn as sns
sns.set()

df = np.loadtxt(open("file.txt", "rb"), delimiter="\t").astype("float")

对于下一步有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-13 11:51:32

如果我没理解错的话,你有三列,X和Y表示值Z的位置。

考虑下面的例子。共有三列:X和Y包含位置信息(在本例中为类别),Z包含用于对热贴图进行着色的值。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
x = np.array(['a','b','c','a','b','c','a','b','c'])
y = np.array(['a','a','a','b','b','b','c','c','c'])
z = np.array([0.3,-0.3,1,0.5,-0.25,-1,0.25,-0.23,0.25])

然后,我们从这些列创建一个dataframe并转置它们(因此x、y和z实际上成为列)。给出列名并确保Z_value是一个数字。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df = pd.DataFrame.from_dict(np.array([x,y,z]).T)
df.columns = ['X_value','Y_value','Z_value']
df['Z_value'] = pd.to_numeric(df['Z_value'])

产生了这个数据帧。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
X_value Y_value Z_value
0   a   a   0.30
1   b   a   -0.30
2   c   a   1.00
3   a   b   0.50
4   b   b   -0.25
5   c   b   -1.00
6   a   c   0.25
7   b   c   -0.23
8   c   c   0.25

因此,您不能创建热图,但是通过调用df.pivot('Y_value','X_value','Z_value'),您可以将数据帧旋转到可用于热图的表单。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pivotted= df.pivot('Y_value','X_value','Z_value')

生成的数据帧如下所示。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
X_value a   b   c
Y_value         
a   0.30    -0.30   1.00
b   0.50    -0.25   -1.00
c   0.25    -0.23   0.25

然后,您可以将pivotted馈送到sns.heatmap以创建热图。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sns.heatmap(pivotted,cmap='RdBu')

产生了这个热图。

您可能需要对代码进行一些调整,以满足您的精确需求。但由于我没有示例数据可供参考,因此我需要创建自己的示例。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45470882

复制
相关文章
python 将读取的数据写入txt文件_c中怎样将数据写入txt文件
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
6.4K0
Python将数据写入txt文件_python将内容写入txt文件
readlines() 会把每一行的数据作为一个元素放在列表中返回,读取所有行的数据
全栈程序员站长
2022/11/11
12.5K0
Numpy中的数组维度
在对 np.arange(24)(0, 1, 2, 3, ..., 23) 进行重新的排列时,在多维数组的多个轴的方向上,先分配最后一个轴(对于二维数组,即先分配行的方向,对于三维数组即先分配平面的方向)
benym
2022/07/14
1.6K0
Python中numpy数组切片
Python中符合切片并且常用的有:列表,字符串,元组。 下面那列表来说明,其他的也是一样的。 格式:[开头:结束:步长] 开头:当步长>0时,不写默认0。当步长<0时,不写默认-1 结束:当步长>0时,不写默认列表长度加一。当步长<0时,不写默认负的列表长度减一 步长:默认1,>0 是从左往右走,<0是从右往左走 遵循左闭右开原则,如:[0:9]等价于数学中的[0,9)
狼啸风云
2020/12/18
3.3K0
Python中numpy数组切片
python读取txt文件中的数组
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139543.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/23
4K0
Python将图片输出为二维数组并保存到txt中
使用Python将图片输出为二维数组,并保存到txt文件中。代码如下:# coding=utf8from PIL import Imageimport numpy as npfrom scipy import miscimport matplotlib.pyplot as pyplot #读图片def loadImage(): im = Image.open("0001.jpg") #读取图片 im.show() #显示原图 im = im.c
代码的路
2022/06/18
2.1K0
如何将NumPy数组保存到文件中以进行机器学习
祝大家新年快乐,今天看到的文章然后就翻译了一下,涉及到的技术点都很简单,算是一篇水文,而且我对文章的改动比较大,但是还希望能给你带来一点帮助。
PM小王
2020/01/15
7.8K0
将三维数组中的同名的键拆分成三维数组的每个数组中包括原来不同的二维数组的键…
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/112640.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/08
1.8K0
将三维数组中的同名的键拆分成三维数组的每个数组中包括原来不同的二维数组的键…
numpy中数组的遍历技巧
在numpy中,当需要循环处理数组中的元素时,能用内置通函数实现的肯定首选通函数,只有当没有可用的通函数的情况下,再来手动进行遍历,遍历的方法有以下几种
生信修炼手册
2020/06/17
12.5K0
Taro中如何将store加载到项目中
上面文章我们了解了如何创建store,最后导出时,在函数内部创建了store,所以导出时,函数需要调用,然后通过provicer组件将其注入到项目中。
挥刀北上
2022/05/11
7650
Taro中如何将store加载到项目中
numpy中的掩码数组
numpy中有一个掩码数组的概念,需要通过子模块numpy.ma来创建,基本的创建方式如下
生信修炼手册
2020/06/10
1.9K0
将多个txt文件中的内容写在一个txt中的方法
import os filename='./train_data/img_' for i in range(1,19736): newfile=filename+str(i)+'.txt' if os.path.exists(newfile): read= open(newfile, 'r') for line in read: writ = open('recode.txt', 'a') writ.write(
陶陶name
2022/05/13
3.4K0
python 将一个txt文件数据,按要求分开,写入多个txt文本中
matinal
2023/10/13
2780
Numpy数组
一、NumPy简介 NumPy是针对多维数组(Ndarray)的一个科学计算(各种运算)包,封装了多个可以用于数组间计算的函数。 数组是相同数据类型的元素按一定顺序排列的组合,注意必须是相同数据类型的,比如说全是整数、全是字符串等。 array([1,2,3]) # 数值型数组 array(['w','s','q'],dtype = '<U1') # 字符型数组 二、NumPy 数组的生成 要使用 NumPy,要先有符合NumPy数组的数据,不同的包
见贤思齊
2020/08/05
4.9K0
Numpy数组
Numpy 中 axis = n 对应 ndarray 的第 nnn 层 [],从最外层的 axis = 0,逐渐往内层递增。
hotarugali
2022/03/03
7890
Numpy数组
Python 将数据写入文件(txt、csv、excel)
一、将列表数据写入txt、csv、excel 1、写入txt def text_save(filename, data):#filename为写入CSV文件的路径,data为要写入数据列表. file = open(filename,'a') for i in range(len(data)): s = str(data[i]).replace('[','').replace(']','')#去除[],这两行按数据不同,可以选择 s = s.replace
菲宇
2019/07/31
41.3K0
numpy中数组操作的相关函数
在numpy中,有一系列对数组进行操作的函数,在使用这些函数之前,必须先了解以下两个基本概念
生信修炼手册
2020/06/17
2.1K0
Python中numpy数组的拼接、合并
np.append() np.concatenate() np.stack() np.hstack() np.vstack() np.dstack() 其中最泛用的是第一个和第二个。第一个可读性好,比较灵活,但是占内存大。第二个则没有内存占用大的问题。
全栈程序员站长
2022/07/02
3.2K0
Python数据分析(3)-numpy中nd数组的创建
摘要总结:本文主要介绍了NumPy(Numerical Python)中的一些数据结构和常用函数。主要包括:数组(array)、矩阵(matrix)、数组操作相关函数、矩阵操作相关函数、NumPy的子库numpy.core和numpy.lib等。通过这些函数,我们可以方便地进行数值计算、线性代数、傅里叶变换等操作,是进行科学计算和数据处理的重要工具。
锦小年
2018/01/02
2K0
Python数据分析(3)-numpy中nd数组的创建
点击加载更多

相似问题

PyQt:附标签的QLineEdit

20

DocuS传下载附标签的信封

10

将onclick添加到图像标签

24

将标签添加到图像链接

224

将图像添加到标签建议

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文