python - Pandas 转换 float 删除指数

标签 python pandas dataframe jupyter-notebook

我有这样的数据:

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

关于python - Pandas 转换 float 删除指数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51852465/

相关文章:

python - 在 matplotlib 中绘制带中点箭头的圆形 fancyarrowpatch

Python - 动态嵌套列表

python - Pandas:to_excel():如何将时间表示为 TimeSeries 索引的格式?

python - 使用常规月份顺序而不是字母顺序的交叉表后重新索引列

pandas - 基于 python 中其他列的值的新列

python - Paramiko 检查 SSH 服务器的登录超时

python - ctypes 与纯 python

python - Pandas 应用函数将多个值返回到 Pandas 数据框中的行

python - 如何反转 pandas 系列

python - 处理 DataFrame Pandas 中的缩写和拼写错误的单词