Pandas Dataframe Numbers Comma Formatted
Joydeep C
chalao.adda at gmail.com
Sat May 9 11:32:17 EDT 2020
On Sat, 09 May 2020 17:24:41 +0200, Python wrote:
> 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.
Of course, they are strings. It's "N/A", not nan.
More information about the Python-list
mailing list