2016-01-25 8 views
-2

Учитывая следующие Heatmap:Seaborn Heatmap валюты Формат

import matplotlib.pyplot as plt 
import seaborn as sns 
import pandas as pd 
%matplotlib inline 
df = pd.DataFrame(
     {'A' : ['A', 'A', 'B', 'B','C', 'C', 'D', 'D'], 
     'B' : ['A', 'B', 'A', 'B','A', 'B', 'A', 'B'], 
     'C' : [22000, 4000, 500, 20000, 0, 3000, 90000, 1000], 
     'D' : [6000, 62000, 7000, 700, 30000, 30, 1000, 1000]}) 

df=df.pivot('A','B','C') 
fig, ax = plt.subplots(1, 1, figsize =(4,6)) 

sns.heatmap(df, annot=True, linewidths=0, cbar=False) 
plt.show() 

Я хотел бы значения для отображения в качестве валюты в тысячах, как это: $ 22K

Бонус вопрос: Показать, как тысячи с одним десятичным как это: $ 8,9K

Заранее спасибо!

+0

Почему голос? Как это вообще поучительно? –

ответ

1

df["C"] = df["C"].map(lambda x: "${:,.1f}".format(x/1000.))

+0

Спасибо за помощь, Ной! Преобразование работает, но когда я пытаюсь использовать его в тепловой карте, я получаю следующую ошибку: TypeError: ufunc 'isnan' не поддерживается для типов ввода, и входы не могут быть безопасно принуждены к любым поддерживаемым типам в соответствии с casting rule '' safe '' –

+0

Извините, не можете помочь вам – Noah