我知道我可以通过执行以下操作来应用numpy方法:
dataList是DataFrames的列表(相同的列/行).
testDF = (concat(dataList, axis=1, keys=range(len(dataList)))
.swaplevel(0, 1, axis=1)
.sortlevel(axis=1)
.groupby(level=0, axis=1))
testDF.aggregate(numpy.mean)
testDF.aggregate(numpy.var)
等等.但是,如果我想计算均值(sem)的标准误差怎么办?
我试过了:
testDF.aggregate(scipy.stats.sem)
但它给出了一个令人困惑的错误.有人知道怎么做吗? scipy.stats方法有何不同之处?
这是一些为我重现错误的代码:
from scipy import stats as st
import pandas
import numpy as np
df_list = []
for ii in range(30):
df_list.append(pandas.DataFrame(np.random.rand(600, 10),
columns = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']))
testDF = (pandas.concat(df_list, axis=1, keys=range(len(df_list)))
.swaplevel(0, 1, axis=1)
.sortlevel(axis=1)
.groupby(level=0, axis=1))
testDF.aggregate(st.sem)
这是错误消息:
---------------------------------------------------------------------------
AssertionError Traceback (most recent call last)
in ()
12 .groupby(level=0, axis=1))
13
---> 14 testDF.aggregate(st.sem)
/Library