Python 3.x 计算来自不同数据帧的单元格的平均值
我想计算来自不同数据帧的多个单元格的平均值。我已经用Python 3.x 计算来自不同数据帧的单元格的平均值,python-3.x,pandas,dataframe,Python 3.x,Pandas,Dataframe,我想计算来自不同数据帧的多个单元格的平均值。我已经用df.corr()计算了变量之间的相关性,我必须再做9次,然后计算每个变量的相关性平均值 例如,我得到的第一个具有相关性的数据帧可能是: a b c __________________ a 1 0.2 0.3 b 0.2 1 0.4 c 0.3 0.4 1 a b c __________________ a 1 0.3 0.2 b 0
df.corr()
计算了变量之间的相关性,我必须再做9次,然后计算每个变量的相关性平均值
例如,我得到的第一个具有相关性的数据帧可能是:
a b c
__________________
a 1 0.2 0.3
b 0.2 1 0.4
c 0.3 0.4 1
a b c
__________________
a 1 0.3 0.2
b 0.3 1 0.4
c 0.2 0.4 1
第二个相关数据帧可以是:
a b c
__________________
a 1 0.2 0.3
b 0.2 1 0.4
c 0.3 0.4 1
a b c
__________________
a 1 0.3 0.2
b 0.3 1 0.4
c 0.2 0.4 1
我想得到一个最终的数据帧,其中每个单元的平均值考虑了所有的数据帧
df_result
a b c
__________________
a 1 0.25 0.25
b 0.25 1 0.4
c 0.25 0.4 1
这很超前,你可以这样做:
(df1.corr()+df2.corr())/2
由于两个数据帧具有中指定的相同列,因此最好使用内置的pandas mean()方法以获得更好的性能
下面的代码将遍历大量随机生成的数据帧,将每个相关矩阵附加到列表中,然后使用内置的mean()函数获取平均值
将熊猫作为pd导入
将numpy作为np导入
rs=np.random.RandomState(0)
相关矩阵=[]
对于范围(10)内的uu:
df=pd.DataFrame(rs.rand(3,3))
相关矩阵.append(df.corr())
相关性=pd.concat(相关性矩阵)。分组依据(级别=0)
平均值=相关性。平均值()
std_corr=相关度std()
如果我想计算这些值的标准偏差,我该怎么办?你是说每两个值的标准偏差,比如两个值向量的标准偏差(例如,a,b,这将是标准偏差[0.25,0.3])?是的,这将是标准偏差介于[0.3,0.2]和[0.4,0.4]之间……这是否回答了你的问题?请注意如何使用内置的pandas mean()方法,该方法的性能比实现自己的avraging公式要好。在这种情况下,它不起作用。我在下面发布了一个答案,将我提供的stackoverflow链接中的代码应用于您的问题。看起来很好用。