gpt4 book ai didi

python - Pandas 计算多列数据中列减去的平均值

转载 作者:太空宇宙 更新时间:2023-11-03 14:46:16 26 4
gpt4 key购买 nike

例如我有如下数据框

                       BTC               ETH
time(index) high low high low
1 3 1 4 2
2 4 1 4 1

我想在 index 上取平均值,在 highlow 之间取负值

按如下所示的每一列..

                      BTC                ETH
2.5 2.5

有什么方法可以使用pandas吗?

最佳答案

使用xs对于 MultiIndex 的第二级选择,减去 sub并得到 mean:

s = df.xs('high', axis=1, level=1).sub(df.xs('low', axis=1, level=1)).mean()
print (s)
BTC 2.5
ETH 2.5
dtype: float64

如果想要一行 DataFrame 添加 to_frameT :

df = s.to_frame().T
print (df)
BTC ETH
0 2.5 2.5

agg :

df = df.xs('high', axis=1, level=1).sub(df.xs('low', axis=1, level=1)).agg(['mean'])
print (df)
BTC ETH
mean 2.5 2.5

详细信息:

print (df.xs('high', axis=1, level=1))
BTC ETH
1 3 4
2 4 4

print (df.xs('high', axis=1, level=1).sub(df.xs('low', axis=1, level=1)))
BTC ETH
1 2 2
2 3 3

关于python - Pandas 计算多列数据中列减去的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49082975/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com