[英]Convert Pandas DF of Floats to Str, Keep trailing zeros
我正在嘗試將浮點數的 DataFrame 轉換為字符串,同時在第 100 位小數點處保留尾隨零。 這是我的 function:
def df_formatter(df):
cols = df.columns
for x in cols:
for index,cell in enumerate(df[x]):
df.loc[:,x][index] = str('{:.2f}'.format(Decimal(df[x][index])))
return df
問題是我的 dataframe 仍然是浮點格式,即使在應用 function 之后也是如此。 當我 apply.astype(str) 方法轉換為字符串時,如果第 100 位小數是 0,我會丟失第 100 位小數點。例如,0.00 --> 0.0 或 0.50 --> 0.5。 這是貨幣和百分比數據,因此保持尾隨零非常重要。
我的問題是什么?
我不確定我是否理解正確,但我認為這是一個解決方案:
df = pd.DataFrame({'floats': [0.5, 0.66, 0.]})
df['floats'] = df['floats'].apply(lambda x: "{:.2f}".format(x))
print(df)
>>>
floats
0 0.50
1 0.66
2 0.00
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.