簡體   English   中英

將浮點數的 Pandas DF 轉換為 Str,保持尾隨零

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM