Pandas Dataframe Numbers Comma Formatted

2020-05-09 Thread Joydeep C
I have a Pandas dataframe like below.

XY
0  1234567890
1  54321N/A
2  67890123456

I need to make these numbers comma formatted. For example, 12345 => 
12,345.

Please help.

Thanks.
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Pandas Dataframe Numbers Comma Formatted

2020-05-09 Thread Joydeep C
On Sat, 09 May 2020 14:42:43 +0200, Python wrote:

> Joydeep wrote:
>> I have a Pandas dataframe like below.
>> 
>>  XY
>> 0  1234567890 1  54321N/A 2  67890123456
>> 
>> 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.
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Pandas Dataframe Numbers Comma Formatted

2020-05-09 Thread Joydeep C
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.
>>>>
>>>>   XY
>>>> 0  1234567890 1  54321N/A 2  67890123456
>>>>
>>>> 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'."
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Pandas Dataframe Numbers Comma Formatted

2020-05-09 Thread Joydeep C
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.
>>>>>>
>>>>>>XY
>>>>>> 0  1234567890 1  54321N/A 2  67890123456
>>>>>>
>>>>>> 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.
-- 
https://mail.python.org/mailman/listinfo/python-list