我有 5 个数据帧是这样构建
的A B C
2018-04-19 04:00:00 4.767408 4.767408 4.767408
2018-04-19 05:00:00 1.430304 3.683601 1.301930
2018-04-19 06:00:00 3.651601 0.207151 1.601330
2018-04-19 07:00:00 1.937919 1.301930 1.301930
2018-04-19 08:00:00 3.078898 3.751601 0.217151
2018-07-20 21:00:00 0.088575 1.301930 1.201930
2018-07-20 22:00:00 0.207151 0.038575 0.086775
2018-07-20 23:00:00 0.224044 0.217151 0.267151
2018-07-23 00:00:00 1.301930 0.988575 0.088573
2018-07-23 01:00:00 17.326162 1.301930 1.301930
列名是动态的(它们在 5 个数据帧中始终具有相同的名称,但有时在我的程序中它们都不称为 A、B、C,而是例如 Car、Hamburger、Samurai_Sword(。
如何有效地从此数据帧和其他数据帧获取一个数据帧,其中每个值都是 a( 平均值和 b( 相同位置值的中位数?
(所有DFS的指数相同(
下面是使用pd.Series.describe()
获取数据帧行的平均值和中位数的简单技术:
df.apply(pd.Series.describe, axis=1)[['mean','50%']]
为此,您需要将数据帧合并为一个。您可以使用pd.concat([df1,df2,df3,...], axis=1)
简单地执行此操作
起初我以为你只是想要列的平均值和中位数。如果你想要这个,使用 describe(( 也很简单:
df.describe().loc[['mean','50%']]