Python 如何获取附加在列表中的多个数据帧的mean、std和mad?

Python 如何获取附加在列表中的多个数据帧的mean、std和mad?,python,pandas,list,dataframe,Python,Pandas,List,Dataframe,我有几百个附加在列表中的数据帧。所有数据帧的列数相同,但行数不同。列名也相同 所以我想取每列值的平均值,mad,std,我做的是这样的: 所有数据帧都附加在列表(lst)中 但是我得到的结果有点奇怪,比如在mad列中有21,65,36这样的值,这是荒谬的 wave mean median mad 0 4050.32 -0.016182 -0.011940 0.008885 1 4208.98 0.023707 0.00718

我有几百个附加在列表中的数据帧。所有数据帧的列数相同,但行数不同。列名也相同

所以我想取每列值的平均值,mad,std,我做的是这样的:

所有数据帧都附加在列表(lst)中

但是我得到的结果有点奇怪,比如在
mad
列中有
21,65,36
这样的值,这是荒谬的

        wave       mean    median        mad
0    4050.32  -0.016182 -0.011940   0.008885
1    4208.98   0.023707  0.007189   0.032585
2    4374.94  -0.001321 -0.001196   0.000378
3    4379.74   0.002778  0.003380   0.004685
4    6828.60 -10.604568 -0.000590  21.084799
5    6839.84  -0.003466 -0.001870   0.010169
6    6842.04 -32.751551 -0.002514  65.118329
7    6842.69  18.293519 -0.002158  36.385884
所有数据帧中的列
wave
相同,但行数不同。这跟那有关系吗?可能是它取错了行的平均值


谁能告诉我怎么解决这个问题吗?

你可以使用
pandas.concat
将数据帧序列连接成一个大数据帧,然后像这样计算统计数据

import pandas as pd

# lst = [construct list of dataframes ...]
df = pd.concat(lst, axis=0)
means = df.mean()
stds = df.std()
编辑:如果您想按某个键(例如,
wave
)对统计数据进行细分,可以使用以下命令

means = df.groupby('wave').mean()

你能添加一个可以测试的简化代码吗?完成。!这就是我正在做的@PEBKAC也许您可以用几(7)行和使用的列重新创建两个数据帧?所以df1=,df2=。。。像这样的错误很难确定。。。但愿我能帮上忙那不是我想做的。我想要每个列值的平均值、std和mad。澄清一下:您想根据
wave
中的值计算每个列的统计信息吗?是的,但我已经尝试过了,我得到了一些非常荒谬的行值,我不明白为什么。@astroluv在上面添加了一个编辑,应该可以达到预期的结果。
means = df.groupby('wave').mean()