gpt4 book ai didi

python - 使用 pandas df 旋转 sns 热图

转载 作者:行者123 更新时间:2023-12-02 18:07:59 28 4
gpt4 key购买 nike

我正在使用 pandas 导入 256x256 数量的数据,我想使用(类似于)sns.heatmap() 来绘制这些数据。

我将数据读入 pandas 数据框,如下所示:

df_Data = pd.read_csv(datapath,sep="\t",header=None)

作为一次试运行,为了清楚地看到发生了什么,我的数据如下所示(它没有任何标签,因为它是直接从其他软件中仅使用原始数字提取的):

100 100 100 100 100 100 100 100 0 0 0 0 0 ..... 0
100 100 100 100 100 100 100 100 0 0 0 0 0 ..... 0
100 100 100 100 100 100 100 100 0 0 0 0 0 ..... 0
100 100 100 100 100 100 100 100 0 0 0 0 0 ..... 0
100 100 100 100 100 100 100 100 0 0 0 0 0 ..... 0
0 . ... ... ... ... ... ... ... ... ... ... ... 0
... ... ... ... ... ... ... ... ... ... ... ... .
0 . ... ... ... ... ... ... ... ... ... ... ... 0

产生这个图: Plot in original format

我想将它旋转270度,使突出显示的部分位于左下角,这样它看起来像这样(理想情况下使用更合理的轴标签格式,而不是我在ppt中所做的,但这是一个细节): Rotate image

我用seaborn绘制它,如下所示:

sns.heatmap(df_IntegratedData)

最方便的方法是什么?

最佳答案

您可以使用 rot90 旋转数据框中的数组:

df_rot90 = pd.DataFrame(np.rot90(df_IntegratedData),
index=reversed(df_IntegratedData.columns),
columns=df_IntegratedData.index)
sns.heatmap(df_rot90)

示例:

import pandas as pd
import numpy as np
import seaborn as sns

data = np.zeros((10,15))
data[0,0] = 1
df = pd.DataFrame(data)
sns.heatmap(df)

enter image description here

df1 = pd.DataFrame(np.rot90(df), index=reversed(df.columns), columns=df.index)
sns.heatmap(df1)

enter image description here

关于python - 使用 pandas df 旋转 sns 热图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72900119/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com