gpt4 book ai didi

python - 分离 pandas DataFrame 的正值和负值

转载 作者:行者123 更新时间:2023-11-30 23:00:39 25 4
gpt4 key购买 nike

我需要分别对列中的所有正值和负值求和,即

pos_values = [x for x in df.prediction_at_ohlcv_end_date if x > 0] 
neg_values = [x for x in df.prediction_at_ohlcv_end_date if x < 0]

这是一个数据示例

market_trading_pair next_future_timestep_return ohlcv_start_date    prediction_at_ohlcv_end_date
0 Poloniex_ETH_BTC 0.003013 1450753200 -0.157053
1 Poloniex_ETH_BTC -0.006521 1450756800 -0.920074
2 Poloniex_ETH_BTC 0.003171 1450760400 0.999806
3 Poloniex_ETH_BTC -0.003083 1450764000 0.627140
4 Poloniex_ETH_BTC -0.001382 1450767600 0.999857

在 pandas 中执行此操作的好方法是什么?

编辑:

感谢一些有用的堆栈器,我能够做到这一点,但我意识到我无法进一步计算。 `

if prediction_at_ohlcv_end_date > 0 : 
return = prediction_at_ohlcv_end_date * next_future_timestep_return.

对于框架中的每个元素,有什么想法吗?`

最佳答案

您可以使用方法sum您特定列的 pandas.Series :

neg = df.prediction_at_ohlcv_end_date[df.prediction_at_ohlcv_end_date < 0].sum()
pos = df.prediction_at_ohlcv_end_date[df.prediction_at_ohlcv_end_date >= 0].sum()

In [51]: pos
Out[51]: 2.6268029999999998

In [52]: neg
Out[52]: -1.077127

对于您的值(value)观:

pos_values = df.prediction_at_ohlcv_end_date[df.prediction_at_ohlcv_end_date >= 0]
neg_values = df.prediction_at_ohlcv_end_date[df.prediction_at_ohlcv_end_date < 0]

编辑

对于您的编辑,您可以执行以下操作:

mask = df.prediction_at_ohlcv_end_date >= 0
res = df.prediction_at_ohlcv_end_date[mask] * df.next_future_timestep_return[mask]

In [10]: res
Out[10]:
2 0.003170
3 -0.001933
4 -0.001382
dtype: float64

关于python - 分离 pandas DataFrame 的正值和负值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35204716/

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