我正在使用df.corr()为我正在处理的多个dfs创建关联数据帧。如何找到每个独立数据帧中所有相对值的max / min / mean / std.dev并创建一个数据帧?
答案 0 :(得分:2)
使用pd.concat
,describe
与列表理解:
输入:
df1 = pd.DataFrame(np.random.rand(3,5),columns=list('ABCDE'))
df2 = pd.DataFrame(np.random.rand(3,5),columns=list('ABCDE'))
df3 = pd.DataFrame(np.random.rand(3,5),columns=list('ABCDE'))
pd.concat([i.describe() for i in [df1,df2,df3]], keys=['df1','df2','df3'], axis=1)
输出:
df1 df2 \
A B C D E A B
count 3.000000 3.000000 3.000000 3.000000 3.000000 3.000000 3.000000
mean 0.333877 0.428859 0.871313 0.627086 0.674608 0.427097 0.550675
std 0.306857 0.378634 0.086694 0.286641 0.221984 0.382306 0.167861
min 0.035033 0.143601 0.795605 0.432969 0.441879 0.040908 0.402787
25% 0.176734 0.214075 0.824027 0.462473 0.569911 0.237947 0.459449
50% 0.318435 0.284549 0.852450 0.491976 0.697942 0.434986 0.516111
75% 0.483299 0.571488 0.909168 0.724144 0.790973 0.620191 0.624619
max 0.648163 0.858428 0.965886 0.956312 0.884003 0.805397 0.733128
df3 \
C D E A B C D
count 3.000000 3.000000 3.000000 3.000000 3.000000 3.000000 3.000000
mean 0.506573 0.495343 0.542382 0.609385 0.577433 0.426975 0.201287
std 0.346116 0.238650 0.150438 0.133651 0.369295 0.426809 0.233817
min 0.121840 0.242962 0.446248 0.457182 0.222946 0.027543 0.031918
25% 0.363533 0.384337 0.455698 0.560287 0.386180 0.202110 0.067901
50% 0.605227 0.525712 0.465148 0.663393 0.549413 0.376677 0.103884
75% 0.698939 0.621533 0.590449 0.685487 0.754676 0.626691 0.285972
max 0.792651 0.717354 0.715750 0.707581 0.959939 0.876705 0.468060
E
count 3.000000
mean 0.664598
std 0.037764
min 0.625907
25% 0.646217
50% 0.666527
75% 0.683943
max 0.701360
答案 1 :(得分:1)
IIUC,这为类似定位的细胞集提供了min,max,std等。因此,对于列('X', 'X')
,我们会在df.loc['X', 'X']
lodf
单元格的统计信息
np.random.seed([3,1415])
lodf = [
pd.DataFrame(
np.random.randint(10, size=(3, 3)),
list('XYZ'), list('XYZ')
) for _ in range(100)
]
pd.concat(
dict(enumerate([d.stack() for d in lodf]))
).unstack(level=[1, 2]).describe()
X Y Z
X Y Z X Y Z X Y Z
count 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00
mean 4.56 4.81 4.93 4.28 4.31 4.49 4.54 4.53 4.60
std 2.99 2.81 2.82 3.06 2.97 3.02 3.05 2.80 2.87
min 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
25% 2.00 2.75 2.00 1.00 2.00 2.00 1.75 2.00 3.00
50% 4.00 5.00 5.50 5.00 4.00 4.00 5.00 4.00 4.00
75% 7.00 7.00 7.00 7.00 7.00 7.00 7.00 7.00 7.25
max 9.00 9.00 9.00 9.00 9.00 9.00 9.00 9.00 9.00