J'ai un dataframe qui a une colonne appelée "Lead Rev" Cette colonne est un champ de nombres tels que (100000 ou 5000 etc.). Je veux savoir comment mettre en forme ces nombres pour montrer des virgules comme mille séparateurs.
Est-ce quelque chose comme: '{:,}'. Format ('Lead Rev')
'Lead Rev' est le nom de ma colonne. J'ai plus de 200 000 lignes dans mon jeu de données.
ValueError Traceback (l'appel le plus récent en dernier) in () ----> 1 '{:,}'. format ('Lead Rev')
ValueError: Impossible de spécifier ',' ou '_' avec 's'.
Vous pouvez utiliser apply () pour obtenir le résultat souhaité. Cela fonctionne avec flottant aussi
import pandas as pd
series1 = pd.Series({'Value': 353254})
series2 = pd.Series({'Value': 54464.43})
series3 = pd.Series({'Value': 6381763761})
df = pd.DataFrame([series1, series2, series3])
print(df.head())
Value
0 3.532540e+05
1 5.446443e+04
2 6.381764e+09
df['Value'] = df.apply(lambda x: "{:,}".format(x['Value']), axis=1)
print(df.head())
Value
0 353,254.0
1 54,464.43
2 6,381,763,761.0
Pour que tous vos flottants affichent des séparateurs de virgule par défaut, définissez les éléments suivants:
pd.options.display.float_format = '{:,}'.format
https://pandas.pydata.org/pandas-docs/version/0.23.4/options.html
class commaConverter:
"""
add and remove commas to numberstring 1000.00+> 1,000.00
"""
def __init__(self,price):
self.price=price
def addCommas(self):
price=self.price
price=str(price)
try:
priceSplit = price.split('.')
price1 = priceSplit[0]
price2 = priceSplit[1]
except IndexError:
price1 = price
price2 = '00'
price1 = price1.strip(" ")
newPrice = ''
i = 0
for x in price1[::-1]:
if i == 3 and x != '-':
newPrice = x + ',' + newPrice
i = 1
else:
newPrice = x + newPrice
i += 1
commaPrice = newPrice + '.' + priceSplit[1]
return str(commaPrice)
def removeCommas(self):
price=self.price
price=price.replace(',','')
price = price.replace('$', '')
return price
Les options de regroupement telles que ,
ne sont prises en charge que pour les types de présentation numériques. Vous devez spécifier un type de présentation numérique. Lisez sur votre options .