我是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'])
欢迎提出任何想法。
谢谢
答案 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