2017-05-01 19 views
2

私は1つの構造で50のデータフレームを持っていますが、値は異なります。このすべてから平均データフレームを取得するにはどうすればよいですか?パンダ:平均データフレームを取得

 active nodes 
graph    
0    128 
1    128 
2    128 
3    127 
4    126 
5    126 
6    126 
7    126 
8    126 
9    125 
10    124 

答えて

5

、リストにすべてのデータフレームを追加し、それらを連結し、各列の平均値を計算します。

dfs = [df1, df2, ... dfn] 
pd.concat(dfs, axis=1).mean(axis=1) 
1

ではなくnumpyを使用します。

は、データフレームdfs

dfs = [pd.DataFrame(np.random.randint(10, size=(10, 10))) for _ in range(50)] 

のリストが続いてmeanを取って、その後np.concatenateを使用して平均値を計算するものとします。しかし、numpyであることも、これは速くなければなりません。

pd.Series(np.concatenate([df.values for df in dfs], axis=1).mean(1), dfs[0].index) 

0 4.472 
1 4.722 
2 4.644 
3 4.574 
4 4.624 
5 4.446 
6 4.548 
7 4.606 
8 4.440 
9 4.442 
dtype: float64 

タイミング

enter image description here

+1

ビットコンパクト版: 'np.mean([DFSにおけるDFためdf.values]、(0,2))' 。 – Divakar

関連する問題