我有一个Pandas数据框(" df
")看起来像:
Variable1 Var2 Parameters Values
0 10.000 1.1 0.296342 0.170009
1 10.015 1.1 0.297013 0.168656
2 10.030 1.1 0.297659 0.167326
3 10.045 1.1 0.298282 0.166018
4 10.060 1.1 0.298883 0.164731
5 10.075 1.1 0.299462 0.162223
... ... ... ... ...
4038 24.565 1.0 0.563698 0.222069
使用以下命令透过数据框
# Pivot dataframe
df = df.pivot('Var2', 'Variable1', 'Values')
我得到以下数据框:
Variable1 10.000 10.015 10.030 10.045 10.060 10.075 \
Var2
1.0 0.219987 0.218130 0.216290 0.214465 0.212654 0.210856
1.1 0.170009 0.168656 0.167326 0.166018 0.164731 0.163467
1.2 0.133185 0.132202 0.131230 0.130269 0.129318 0.128378
1.3 0.104472 0.103893 0.103312 0.102729 0.102147 0.101564
Variable1 ... 24.865 24.880 24.895 24.910 24.925
Var2 ...
1.0 ... 0.212118 0.211691 0.211272 0.210860 0.210456
1.1 ... 0.174883 0.174566 0.174257 0.173956 0.173662
1.2 ... 0.147406 0.147154 0.146907 0.146664 0.146425
1.3 ... 0.126780 0.126616 0.126456 0.126301 0.126150
但是,当我尝试使用Seaborn heatmap
使用以下命令对此进行成像:
# Pivot dataframe
df = df.pivot('Var2', 'Variable1', 'Values')
# Create heatmap
f, ax = plt.subplots(figsize=(20, 10))
sns.heatmap(df)
ax.xaxis.set_major_locator(ticker.MultipleLocator(20))
ax.xaxis.set_major_formatter(ticker.ScalarFormatter())
plt.show()
我得到的图表显示了Variable1(0,1,2,3,4,...)的索引,而我需要它来显示Variable1的值(10,10.015) ,10.030,10.045等)。我举了一个例子来说明。
我错过了什么?
答案 0 :(得分:1)
复制样本数据
Variable1 Var2 Parameters Values
0 10.000 1.1 0.296342 0.170009
1 10.015 1.1 0.297013 0.168656
2 10.030 1.1 0.297659 0.167326
3 10.045 1.1 0.298282 0.166018
4 10.060 1.1 0.298883 0.164731
5 10.075 1.1 0.299462 0.162223
4038 24.565 1.0 0.563698 0.222069
df = pd.read_clipboard()
df = df.pivot('Var2', 'Variable1', 'Values')
df
的样子:
Variable1 10.000 10.015 10.030 10.045 10.060 10.075 \
Var2
1.0 NaN NaN NaN NaN NaN NaN
1.1 0.170009 0.168656 0.167326 0.166018 0.164731 0.162223
Variable1 24.565
Var2
1.0 0.222069
1.1 NaN
只使用sns.heatmap(df)
返回,