Python 2.7 数据帧列表中列的中位数的平均值
我正在寻找最好的方法来获取数据帧列表(相同的列名)中某列的中位数的平均值 假设我有一个数据帧列表Python 2.7 数据帧列表中列的中位数的平均值,python-2.7,python-3.x,pandas,numpy,dataframe,Python 2.7,Python 3.x,Pandas,Numpy,Dataframe,我正在寻找最好的方法来获取数据帧列表(相同的列名)中某列的中位数的平均值 假设我有一个数据帧列表list\u df。我可以为循环编写以下,以获得所需的输出。我更感兴趣的是看看是否可以消除for循环 med_arr = [] list_df = [df1, df2, df3] for df in list_df: med_arr.append(np.median(df['col_name'])) np.mean(med_arr) 以样本数据为例 np.random.seed([3,141
list\u df
。我可以为循环编写以下,以获得所需的输出。我更感兴趣的是看看是否可以消除for
循环
med_arr = []
list_df = [df1, df2, df3]
for df in list_df:
med_arr.append(np.median(df['col_name']))
np.mean(med_arr)
以样本数据为例
np.random.seed([3,1415])
df1 = pd.DataFrame(dict(col_name=np.random.randint(10, size=10)))
df2 = pd.DataFrame(dict(col_name=np.random.randint(10, size=10)))
df3 = pd.DataFrame(dict(col_name=np.random.randint(10, size=10)))
list_df = [df1, df2, df3]
选项1
pandas
pd.concat([d['col_name'] for d in list_df], axis=1).median().mean()
3.8333333333333335
选项2
numpy
np.median([d['col_name'].values for d in list_df], 1).mean()
3.8333333333333335
以样本数据为例
np.random.seed([3,1415])
df1 = pd.DataFrame(dict(col_name=np.random.randint(10, size=10)))
df2 = pd.DataFrame(dict(col_name=np.random.randint(10, size=10)))
df3 = pd.DataFrame(dict(col_name=np.random.randint(10, size=10)))
list_df = [df1, df2, df3]
选项1
pandas
pd.concat([d['col_name'] for d in list_df], axis=1).median().mean()
3.8333333333333335
选项2
numpy
np.median([d['col_name'].values for d in list_df], 1).mean()
3.8333333333333335
这可以作为一个列表来完成:
这可以作为一个列表来完成: