Given the following data frame:
import pandas as pd
df = pd.DataFrame(
{'A':['A','B','C','D'],
'C':[12355.00,12555.67,640.00,7000]
})
df
A C
0 A 12355.00
1 B 12555.67
2 C 640.00
3 D 7000.00
I'd like to convert the values to dollars in thousands of USD like this:
A C
0 A $12.3K
1 B $12.5K
2 C $0.6K
3 D $7.0K
The second thing I need to do is somehow get these into a Seaborn heat map, which only accepts floats and integers. See here for more on the heat map aspect.
I'm assuming once the floats are converted to currency, they will be in object format but I'm hoping there's a way around that.
Thanks in advance!
The best way to convert one or more columns of a DataFrame to numeric values is to use pandas. to_numeric() . This function will try to change non-numeric objects (such as strings) into integers or floating-point numbers as appropriate.
To format numbers as currency in Python, the easiest way is with the locale module. You can also use the string format() function. Finally, you can use the babel. numbers module to format numbers as money and currency.
Or you could use a lambda function for shorter syntax
df['C'] = df['C'].apply(lambda x: "${:.1f}k".format((x/1000)))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With