使用千位分隔符格式化Pandas列



我试着到处看看,但没有确切的答案,我正在寻找。

我知道千位的标准格式是使用逗号,但是我想要一个空格作为千位的分隔符。我尝试了这个解决方案,但仍然有逗号作为分隔符:

d = {'col1': [1000, 20000], 'col2': [300000, 400000]}
df=pd.DataFrame(d)
df['col1']=df['col1'].map('{:,.0f}'.format)
df['col1'].astype(str)
df['col1'].replace(',',' ',inplace=True)

您需要将完成的功分配给变量,例如df['col1'].astype('str')需要分配给df['col1']

试试这个

d = {'col1': [1000, 20000], 'col2': [300000, 400000]}
df = pd.DataFrame(d)
for col in df.columns:
df[col] = df[col].map('{:,.0f}'.format)
df[col] = df[col].astype('str')
df[col] = df[col].str.replace(',',' ')
print(df)

输出
col1     col2
0   1 000  300 000
1  20 000  400 000