Как загрузить вывод scipy.stats.describe в pandas фрейм данных? - PullRequest
1 голос
/ 22 февраля 2020

Есть ли простой и простой способ загрузить выходные данные из sp.stats.describe() в DataFrame, включая имена значений? Это не похоже на формат словаря или что-то связанное. Конечно, я могу вручную прикрепить имена соответствующих столбцов (см. Ниже), но мне было интересно, возможно ли напрямую загрузить их в DataFrame с именованными столбцами.

import pandas as pd
import scipy as sp

data = pd.DataFrame({'a': [1, 2, 3, 4, 5], 'b': [1, 2, 3, 4, 5]})

sp.stats.describe(data['a'])

pd.DataFrame(a)

pd.DataFrame(a).transpose().rename(columns={0: 'N', 1: 'Min,Max',
                                            2: 'Mean', 3: 'Var',
                                            4: 'Skewness',
                                            5: 'Kurtosis'})

1 Ответ

1 голос
/ 22 февраля 2020

Вы можете использовать _fields для имен столбцов из именованного кортежа:

a = sp.stats.describe(data['a'])
df = pd.DataFrame([a], columns=a._fields)
print (df)
   nobs  minmax  mean  variance  skewness  kurtosis
0     5  (1, 5)   3.0       2.5       0.0      -1.3

Также возможно создать словарь из именованных кортежей с помощью _asdict:

d = sp.stats.describe(data['a'])._asdict()
df = pd.DataFrame([d], columns=d.keys())
print (df)
   nobs  minmax  mean  variance  skewness  kurtosis
0     5  (1, 5)   3.0       2.5       0.0      -1.3 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...