Pandas Dataframe Numbers Comma Formatted

Python python at python.invalid
Sat May 9 11:24:41 EDT 2020


Joydeep C wrote:
> On Sat, 09 May 2020 15:46:27 +0200, Python wrote:
> 
>> Joydeep C wrote:
>>> On Sat, 09 May 2020 14:42:43 +0200, Python wrote:
>>>
>>>> Joydeep wrote:
>>>>> I have a Pandas dataframe like below.
>>>>>
>>>>>        X        Y
>>>>> 0  12345    67890 1  54321    N/A 2  67890    123456
>>>>>
>>>>> I need to make these numbers comma formatted. For example, 12345 =>
>>>>> 12,345.
>>>>
>>>>    >>> value = 12345 f'{value:,}'  # >= 3.6
>>>> '12,345'
>>>>    >>> '{:,}'.format(value)  # >= 2.7
>>>> '12,345'
>>>
>>> I need all the numbers in the whole dataframe to be formatted like
>>> that,
>>> not one value.
>>
>>   >>> data.applymap((lambda x: f"{x:,}") )
>>           X         Y
>> 0  12,345  67,890.0 1  54,321       nan 2  67,890  12,345.0
>>   >>> data.apply(np.vectorize((lambda x: f"{x:,}")))
>>           X         Y
>> 0  12,345  67,890.0 1  54,321       nan 2  67,890  12,345.0
> 
> It's giving error - "Cannot specify ',' with 's'."

It means that you're not storing numbers in your dataframe but
strings, which is likely not what you want here. Fix that
first.







More information about the Python-list mailing list