Python 热图的空白列表
我需要从一个HTML工具中提取的一些数据制作一个热图样式的绘图(数据是均匀分开的,所以我认为绘图方法应该不太重要)。不幸的是,该工具以.xyz文件的形式将所有数据点作为3行空格分隔的列表提供。例如Python 热图的空白列表,python,pandas,heatmap,Python,Pandas,Heatmap,我需要从一个HTML工具中提取的一些数据制作一个热图样式的绘图(数据是均匀分开的,所以我认为绘图方法应该不太重要)。不幸的是,该工具以.xyz文件的形式将所有数据点作为3行空格分隔的列表提供。例如 -1 -1 .2 -1 0 .5 -1 1 .9 -1 2 .7 0 -1 0 0 0 .8 0 1 .1 0 2 .9 1 -1 .5 1 0 .4 1 1 .6 1 2 .7 我认为最好的方法是将文件放入数据帧中,进行争论,然后使用sns.heatmap()或
-1 -1 .2
-1 0 .5
-1 1 .9
-1 2 .7
0 -1 0
0 0 .8
0 1 .1
0 2 .9
1 -1 .5
1 0 .4
1 1 .6
1 2 .7
我认为最好的方法是将文件放入数据帧中,进行争论,然后使用sns.heatmap()
或某种方法进行绘图。为此,我目前正在首先将文件重新保存到.csv,然后使用pandas.read\u csv()
导入(我觉得必须有一种更具python风格的方法来完成这些步骤)。我使用了pandas.unique()
来获取列和索引值。现在,我不知道如何正确构建和填充新的数据帧
迄今为止的解决办法:
输出
我愿意用其他方法解决这个问题,并提前感谢您的帮助。使用
pivot
:
df = pd.read_csv('file.csv', names=header, delim_whitespace=True)
df_pivot = df.pivot(index='x',columns='y', values='value')
import seaborn as sns
sns.heatmap(df_pivot)
输出:
使用
枢轴:
df = pd.read_csv('file.csv', names=header, delim_whitespace=True)
df_pivot = df.pivot(index='x',columns='y', values='value')
import seaborn as sns
sns.heatmap(df_pivot)
输出:
Doh!谢谢你几乎立即的答复。我打算编辑你的回答,因为它翻转x,y,正如我从上面看到的那样。否则,这就太好了!谢谢你几乎立即的答复。我打算编辑你的回答,因为它翻转x,y,正如我从上面看到的那样。否则,这很好。