Как изменить формат вывода .describe ()? - PullRequest
1 голос
/ 28 марта 2019

Я положил .describe() в Dataframe, результат выглядит не очень хорошо.Я хочу, чтобы выходные данные отображали целое число и не были упрощены с экспонентами.

Ввод:

df["A"].describe()

Как выглядит вывод:

count    6.000000e+01
mean     7.123568e+04
std      2.144483e+05
min      1.000000e+02
25%      2.770080e+03
50%      1.557920e+04
75%      4.348470e+04
max      1.592640e+06
Name: A, dtype: float64

Ожидаемый вывод:

count    60.0
mean     7123.568
std      214448.3
min      100.0000
25%      2770.080
50%      15579.20
75%      43484.70
max      1592640.0
Name: A, dtype: float64

Ответы [ 3 ]

0 голосов
/ 28 марта 2019

попробуйте установить формат с плавающей точкой для вывода, который вы получаете, используя pandas

import pandas as pd

pd.set_option('display.float_format', lambda x: '%.3f' % x)
0 голосов
/ 28 марта 2019

Вы можете изменить float_format панд в пандах set_option

import pandas as pd
import numpy as np

pd.set_option('display.float_format', lambda x: '%.5f' % x)

data = pd.DataFrame()

data['X'] = (np.random.rand(1000, ) + 10000000) * 0.587

data['X'].describe()

# Output 
count      1000.00000
mean    5870000.47894
std           0.28447
min     5870000.00037
25%     5870000.23637
50%     5870000.45799
75%     5870000.71652
max     5870000.99774
Name: X, dtype: float64

Или без использования set_option используйте apply для выходных серий, как это

import pandas as pd
import numpy as np

data = pd.DataFrame()

data['X'] = np.random.rand(1000, ) + 10000000 * 0.587

data['X'].describe().apply("{0:.5f}".format)

#output

count       1000.00000
mean     5870000.48955
std            0.29247
min      5870000.00350
25%      5870000.22416
50%      5870000.50163
75%      5870000.73457
max      5870000.99995
0 голосов
/ 28 марта 2019

вы можете использовать

df["A"].describe(include=['category'])
...