我有一个数据框,其中有一个名为“Lead Rev”的列。此列是一个数字字段,如(100000或5000等...)。我想知道如何格式化这些数字以将逗号显示为千位分隔符。
是否类似:'{:,}'。format('Lead Rev')
'Lead Rev'是我的专栏名称。我的数据集中有超过200,000行。
ValueError Traceback(最近一次调用最后一次) in() ----> 1'{:,}'。format('Lead Rev')
ValueError:无法使用's'指定','或'_'。
答案 0 :(得分:11)
您可以使用apply()来获得所需的结果。这也适用于浮动
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
答案 1 :(得分:8)
要使您的所有彩车默认显示逗号分隔符,请设置以下内容:
pd.options.display.float_format = '{:,}'.format
https://pandas.pydata.org/pandas-docs/version/0.23.4/options.html
答案 2 :(得分:4)
最简单的方法是
df = df.style.format('{:,}')
答案 3 :(得分:2)
可能是最简洁的解决方案:df[column].map('{:,d}'.format)
。
答案 4 :(得分:0)
,
等分组选项仅支持数字演示文稿类型。您需要指定数字表示类型。阅读options。
答案 5 :(得分:0)
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
答案 6 :(得分:0)
您可以使用Apply或stack方法
df.apply(lambda x: x.str.replace(',','.'))
df.stack().str.replace(',','.').unstack()
答案 7 :(得分:0)