簡體   English   中英

Pandas 浮點小數

[英]Pandas Float decimals

我正在嘗試使用具有各種數據類型的列寫入 csv 和 pandas DataFrame。 我需要所有浮點值恰好有 4 個小數位。

例如。 我定義了一個新的df:

df=pd.DataFrame({'col1': [0.24567899874, 'a'], 'col2' : [0.123456789, 1] })

然后使用 float_format 將其寫入 csv 文件:

df.to_csv('example.csv', float_format='%.4f')

我得到結果: col1, col2 0.24999999999986597,0.1234 a,1.0000

似乎 float_format 僅適用於所有元素都是數值的列。

for col in df.columns:
    if df[col].dtype == 'float':
        df[col].round(4)

你可以這樣做:

for col in df.columns:
    df[col] = df[col].apply(lambda x: '{:.4f}'.format(x) if type(x) is int or type(x) is float else x)

df.to_csv('example.csv')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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