我有以下 df relevant_bars:
open high low close volume
timestamp
2021-12-31 00:00:00 00:00 205.79 205.79 205.79 205.79 1140
2021-12-31 12:00:00 00:00 206.25 206.25 206.25 206.25 1146
現在我想列印 ("true") 如果
- 每個收盤價都高于開盤價
- 每個音量都大于'volume_mean'
由于我對 pd 不是很深入,因此我嘗試通過普通的 Python 邏輯設定來完成此操作。然而,這似乎并不是這樣做的方式,一旦條件加起來更多,這也不會有效。
正如我從其他 SO 執行緒中讀到的那樣,您不應將迭代與 pd 資料幀結合使用。那么我將如何處理這個問題?
if relevant_bars.iloc[0]['open'] < relevant_bars.iloc[0]['close'] and
relevant_bars.iloc[0]['volume'] > volume_mean and
relevant_bars.iloc[1]['open'] < relevant_bars.iloc[1]['close'] and
relevant_bars.iloc[1]['volume'] > volume_mean:
print("true")
..
uj5u.com熱心網友回復:
如果你有,例如:
df = pd.DataFrame({'col0':[1,2,3],
'col1':[4,5,6],
'col2':[7,8,9]})
你可以做:
mean = 5
res = (df.col0>df.col1).all() and (col2 > mean).all()
(df.col0>df.col1).all()檢查中的所有值col0是否大于col1。(col2 > mean).all()檢查中的所有值col2是否大于某個值mean。當且僅當兩者都是真實的,res會True。
uj5u.com熱心網友回復:
嘗試:
a = (relevant_bars['open'] < relevant_bars['close']) & (relevant_bars['volume'] > volume_mean)
a.all()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/400826.html
上一篇:Pandas基于另一個帶有子字串的資料幀對資料幀進行分類
下一篇:計算大熊貓df中特殊詞的(總)數
