Skip to main content
 首页 » 编程设计

python之Pandas 转换 float 删除指数

2025年05月04日21lhb25

我有这样的数据:

Date            MBs     GBs 
0   2018-08-14 20:10    32.00 MB    0.00 GB 
1   2018-08-14 20:05    4.00 MB     0.00 GB 
2   2018-08-14 20:00    1000.99 MB  1.23 GB 

我通过这样做去掉了 MB 和 GB:

df['MBs']=df['MB'].str.strip('MB') 
df['GBs']=df['GB'].str.strip('GB') 

然后将数字转换为 float 并得到总数:

df['MBs'] = df['MBs'].astype('float') 
df['GBs'] = df['MBs'].astype('float') 
 
df.loc['Total', ['MBs', 'GBs']] = df.sum() 

但是当我运行它时,我的数据有指数

Date    Data Transferred (MB)   Data Transferred (GB) 
146 2018-08-14 08:00:00 1.871237e+05    1.874017e+05 
147 2018-08-14 07:55:00 1.123211e+05    1.961854e+05 
148 2018-08-14 07:50:00 2.187703e+05    2.187123e+05 
... 
Total       1.408910e+08    1.408910e+08 

我如何将 float 的变化从指数转换为“正常”,我只是转换它,因为我需要得到总数

请您参考如下方法:

您正试图避免使用科学记数法:因此您可以这样做:

import pandas as pd 
pd.set_option('display.float_format', lambda x: '%.3f' % x) 

这行代码设置了pandas的显示格式,不使用科学计数法

引用:http://pandas.pydata.org/pandas-docs/stable/options.html?highlight=display%20float_format