Python 熊猫数据帧的热图-2D阵列

Python 熊猫数据帧的热图-2D阵列,python,pandas,dataframe,heatmap,Python,Pandas,Dataframe,Heatmap,我有一个基于数据可视化的问题。我基本上想从熊猫数据框创建一个热图,在这里我有x,y坐标和相应的z值。可以使用以下代码创建数据- data = ([[0.2,0.2,24],[0.2,0.6,8],[0.2,2.4,26],[0.28,0.2,28],[0.28,0.6,48],[0.28,2.4,55],[0.36,0.2,34],[0.36,0.6,46],[0.36,2.4,55]]) data=np.array(data) df=pd.DataFrame(data,columns=['X'

我有一个基于数据可视化的问题。我基本上想从熊猫数据框创建一个热图,在这里我有x,y坐标和相应的z值。可以使用以下代码创建数据-

data = ([[0.2,0.2,24],[0.2,0.6,8],[0.2,2.4,26],[0.28,0.2,28],[0.28,0.6,48],[0.28,2.4,55],[0.36,0.2,34],[0.36,0.6,46],[0.36,2.4,55]])
data=np.array(data)
df=pd.DataFrame(data,columns=['X','Y','Z'])
请注意,我已经将一个数组转换成了一个数据帧,以便给出一个数组的示例。我的实际数据集相当大,我将其作为数据帧导入python。在处理完数据帧之后,我可以使用上面给出的格式

我看到了基于同一问题的其他问题,但它们似乎不适用于我的特定问题。或者我没有正确地应用它们。我希望我的结果与这里给出的结果相似

欢迎任何帮助

谢谢大家!

使用

资料

准备数据

df['rows'] = ['row' + str(n) for n in range(0,len(df.index))]
dfMelt = pd.melt(df, id_vars = 'rows')
制作热图

ggplot(dfMelt, aes('variable', 'rows', fill='value')) + \
        geom_tile(aes(width=1, height=1)) + \
        theme(axis_ticks=element_blank(),
              panel_background = element_blank()) + \
        labs(x = '', y = '', fill = '')

找到了一种方法-

使用Seaborn

import seaborn as sns
data = ([[0.2,0.2,24],[0.2,0.6,8],[0.2,2.4,26],[0.28,0.2,28],[0.28,0.6,48],[0.28,2.4,55],[0.36,0.2,34],[0.36,0.6,46],[0.36,2.4,55]])
data=np.array(data)
df=pd.DataFrame(data,columns=['X','Y','Z'])
df=df.pivot('X','Y','Z')
diplay_df = sns.heatmap(df)
返回以下图像-

抱歉,提出了另一个问题


另外,感谢您提供相关帖子的链接。

您好。我认为这不起作用,因为X、Y和Z列中的数据正是它们应该的。事实上,我最终用seaborn解决了这个问题。
import seaborn as sns
data = ([[0.2,0.2,24],[0.2,0.6,8],[0.2,2.4,26],[0.28,0.2,28],[0.28,0.6,48],[0.28,2.4,55],[0.36,0.2,34],[0.36,0.6,46],[0.36,2.4,55]])
data=np.array(data)
df=pd.DataFrame(data,columns=['X','Y','Z'])
df=df.pivot('X','Y','Z')
diplay_df = sns.heatmap(df)