![](/img/trans.png)
[英]Selectively converting float to whole number and decimals in Python 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.