それは必要concat
とmean
次のようになります。
import pandas as pd
df1 = pd.DataFrame({0:[14254,25445,34555],
1:[1,2,3],
2:[1,1,1],
3:[1,2,0]})
print (df1)
0 1 2 3
0 14254 1 1 1
1 25445 2 1 2
2 34555 3 1 0
df2 = pd.DataFrame({0:[14254,25445,34555],
2:[1,0,0],
1:[1,0,1],
3:[1,2,0]})
print (df2)
0 1 2 3
0 14254 1 1 1
1 25445 0 0 2
2 34555 1 0 0
#list of all DataFrames
dfs = [df1, df2]
print (pd.concat(dfs, ignore_index=True))
0 1 2 3
0 14254 1 1 1
1 25445 2 1 2
2 34555 3 1 0
3 14254 1 1 1
4 25445 0 0 2
5 34555 1 0 0
#select all columns without first
print (pd.concat(dfs, ignore_index=True).ix[:,1:])
1 2 3
0 1 1 1
1 2 1 2
2 3 1 0
3 1 1 1
4 0 0 2
5 1 0 0
私は必要な平均の種類を確認していないので、私は追加両方:
#mean per rows
print (pd.concat(dfs, ignore_index=True).ix[:,1:].mean(1))
0 1.000000
1 1.666667
2 1.333333
3 1.000000
4 0.666667
5 0.333333
dtype: float64
#mean per columns
print (pd.concat(dfs, ignore_index=True).ix[:,1:].mean())
1 1.333333
2 0.666667
3 1.000000
dtype: float64
たぶん、あなたは何か他のものが必要になります。
dfs = [df1.set_index(0), df2.set_index(0)]
print (pd.concat(dfs, ignore_index=True, axis=1))
0 1 2 3 4 5
0
14254 1 1 1 1 1 1
25445 2 1 2 0 0 2
34555 3 1 0 1 0 0
print (pd.concat(dfs, ignore_index=True, axis=1).mean(1))
0
14254 1.000000
25445 1.166667
34555 0.833333
dtype: float64
print (pd.concat(dfs, ignore_index=True, axis=1).mean())
0 2.000000
1 1.000000
2 1.000000
3 0.666667
4 0.333333
5 1.000000
dtype: float64
パンダは、(などを分割、追加)多くの操作のためのインデックスを使用しています。インデックスとしてIDを設定すると、ソートする必要はありません。 – ayhan