熊猫浮动格式-

时间:2019-03-17 21:53:01

标签: python pandas floating-point

我是Python / Pandas的新手,不知道如何显示我的数据框。 我知道数据可能不需要更改,而是需要如何显示。

我有一个数据框,如下所示:

                         min           max          mean
marketCap(EUR)  6.110331e+10  2.837429e+11  1.275993e+11
price(EUR)      3.679996e+03  1.694395e+04  7.538254e+03
generatedCoins  1.000000e+03  2.437500e+03  1.921524e+03
paymentCount    2.386370e+05  8.086800e+05  4.019127e+05
min     float64
max     float64
mean    float64
dtype: object

,但希望显示如下:

                   min       max     average
marketcap(EUR)    61.10    283.74     127.59
price(EUR)      3679.99  16943.95    7538.25
generatedCoins  1000.00   2437.50    1921.52
paymentCount  238637.00 808680.00  401912.66

我需要更改什么以根据需要格式化我的输出?

这是我用于数据框的代码:

ResultDataFrameEUR = pd.DataFrame(0, index=['marketCap(EUR)','price(EUR)','generatedCoins','paymentCount'], columns = ['min','max','mean'])  #Create new DataFrame for Output and fill it with 0
ResultDataFrameEUR.loc['marketCap(EUR)'] = BtcDataFrameEUR['marketCap(EUR)'].agg(['min', 'max', 'mean'])
ResultDataFrameEUR.loc['price(EUR)'] = BtcDataFrameEUR['price(EUR)'].agg(['min', 'max', 'mean'])
ResultDataFrameEUR.loc['generatedCoins'] = BtcDataFrameEUR['generatedCoins'].agg(['min', 'max', 'mean'])
ResultDataFrameEUR.loc['paymentCount'] = BtcDataFrameEUR['paymentCount'].agg(['min', 'max', 'mean'])

欢迎提出任何想法。

谢谢

1 个答案:

答案 0 :(得分:0)

更改浮点数的显示选项:

import pandas as pd

pd.options.display.float_format = '{:.2f}'.format

print(df)
#                          min             max            mean
#marketCap(EUR) 61103310000.00 283742900000.00 127599300000.00
#price(EUR)            3680.00        16943.95         7538.25
#generatedCoins        1000.00         2437.50         1921.52
#paymentCount        238637.00       808680.00       401912.70

您似乎还想以十亿美元的价格显示第一行,所以这样做:

df.loc['marketCap(EUR)'] = df.loc['marketCap(EUR)']/10**9

#                     min       max      mean
#marketCap(EUR)     61.10    283.74    127.60
#price(EUR)       3680.00  16943.95   7538.25
#generatedCoins   1000.00   2437.50   1921.52
#paymentCount   238637.00 808680.00 401912.70

或者也许不更改数据,并添加,来分隔每3个magintude订单:

pd.options.display.float_format = '{:,.2f}'.format

#                             min                max               mean
#marketCap(EUR) 61,103,310,000.00 283,742,900,000.00 127,599,300,000.00
#price(EUR)              3,680.00          16,943.95           7,538.25
#generatedCoins          1,000.00           2,437.50           1,921.52
#paymentCount          238,637.00         808,680.00         401,912.70