Как новичок Python, я недавно обнаружил, что с Py 2.7 я могу сделать что-то вроде:
print '{:20,.2f}'.format(123456789)
который даст результат:
123,456,789.00
Теперь я ищу аналогичный результат для pandas df, поэтому мой код был похож:
import pandas as pd
import random
data = [[random.random()*10000 for i in range(1,4)] for j in range (1,8)]
df = pd.DataFrame (data)
print '{:20,.2f}'.format(df)
В этом случае у меня есть ошибка:
Unknown format code 'f' for object of type 'str'
Любые предложения для выполнения чего-то вроде '{:20,.2f}'.format(df)
?
Как сейчас, моя идея - индексировать фрейм данных (он маленький), затем форматировать каждый отдельный float внутри него, может быть назначен astype (str) и перестроить DF... но выглядит так выглядит уродливо:-( и я даже не уверен, что это сработает.
Как вы думаете? Я застрял... и хотел бы иметь лучший формат для своих фреймов данных, когда они преобразуются в сетки Reportlabs.