Формат с плавающей точкой в ​​таблице matplotlib - PullRequest
0 голосов
/ 14 декабря 2018

Имея данные в панде, я пытаюсь перевести его в таблицу, используя этот код:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

data = {"Name": ["John", "Leonardo", "Chris", "Linda"],
    "Location" : ["New York", "Florence", "Athens", "London"],
    "Age" : [41, 33, 53, 22],
    "Km": [1023,2312,1852,1345]}

df = pd.DataFrame(data)

fig, ax = plt.subplots()
ax.axis('off')
ax.set_title("Table", fontsize=16, weight='bold')
table = ax.table(cellText=df.values,
             bbox=[0, 0, 1.5, 1],
             cellLoc='center',
             colLabels=df.columns)

И это работает.Однако я могу выяснить, как установить формат для чисел как {:,.2f}, то есть с запятыми в качестве разделителей тысяч и двумя десятичными знаками.

Любое предложение?

1 Ответ

0 голосов
/ 14 декабря 2018

Вставьте следующие две строки кода после создания df, а остальная часть вашего кода работает как нужно.

Столбцы Age и Km определены как тип int;преобразуйте их в float перед использованием str.format:

df.update(df[['Age', 'Km']].astype(float))

Теперь используйте DataFrame.applymap(str.format) в этих двух столбцах:

df.update(df[['Age', 'Km']].applymap('{:,.2f}'.format))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...