Как изменить формат одной ячейки во фрейме данных Pandas? - PullRequest
0 голосов
/ 20 июня 2019

Мой фрейм данных содержит сводку значений для различных типов метрик. Все они с плавающей точкой, но мне нужно, чтобы бюджет отображался с '$' и двумя нижними строками в виде% вместо десятичного числа. Я предоставил снимки экрана, так как не знаю, как еще правильно отобразить код моего ноутбука jupyter в stackoverflow.

enter image description here

Я пытался использовать iLoc .map .format, но это не сработало.

enter image description here

district_summary.iloc[[6,1].map('{:,%.2f}'.format)]
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-40-a2f927a382d3> in <module>
----> 1 district_summary.iloc[[6,1].map('{:,%.2f}'.format)]

AttributeError: 'list' object has no attribute 'map'

Мне нужно, чтобы бюджет отображался с предыдущим знаком $ и без десятичных знаков, а два процента в нижних 2 строках отображались как% xx.xx

1 Ответ

0 голосов
/ 21 июня 2019

Это один из способов заставить его работать, но есть и лучшие решения. Df преобразуется в строку, так что все типы данных в ячейках остаются согласованными. то есть «%» или «$» не могут быть прочитаны как число с плавающей точкой.

pd.set_option('mode.chained_assignment', None)
df['Value'][6:8] = df['Value'][6:8]*100
df = df.applymap(str)
df['Value'][2] = '$' + df['Value'][2]
df['Value'][:3] = df['Value'][:3] + '0'
df['Value'][6:8] = '%'+ df['Value'][6:8] + '0'

String Dataframe Результат: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...