是否有一种简单明了的方法将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'})
答案 0 :(得分:1)
您可以使用_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