Tengo un marco de datos grande que tiene una columna llamada Lead Rev Esta columna es un campo de números como (100000 o 5000, etc.) Quiero saber cómo formatear estos números para mostrar comas como separadores de miles. El conjunto de datos tiene más de 200.000 filas.
¿Es algo como: '{:,}'.format('Lead Rev')
que da este error:
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-182-5fe9c827d80b> in <module>() ----> 1 '{:,}'.format('Lead Rev') ValueError: Cannot specify ',' or '_' with 's'.Para hacer que todos sus flotadores muestren separadores de coma de forma predeterminada en las versiones de pandas 0.23 a 0.25, configure lo siguiente:
pd.options.display.float_format = '{:,}'.formathttps://pandas.pydata.org/pandas-docs/version/0.23.4/options.html
En la versión 1.0 de pandas, esto lleva a un formato extraño en algunos casos.
df.head().style.format("{:,.0f}") ( para todas las columnas )
df.head().style.format({"col1": "{:,.0f}", "col2": "{:,.0f}"}) ( por columna )
Puede usar apply() para obtener el resultado deseado. Esto funciona con flotante también
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