我大約需要3天的時間通過Python學習熊貓,並且遇到了讓我難倒的第一個問題。我設法做了各種各樣的計算,我不需要迭代我正在處理的表中的每一行,但我不確定是否有辦法對以下問題執行相同操作。部分基於python/pandas自身計算列
爲了解決這個問題,我正在嘗試使用的表格可能僅歸爲2列。第一列是'日期',第二列是'訂單'。 'order'列的值大多爲0,散佈着幾個1和-1。不知道如何顯示在我的問題,但像...
Date Order
0 2017-03-15 0
1 2017-03-14 1
2 2017-03-13 0
3 2017-03-12 0
4 2017-03-11 -1
5 2017-03-10 0
6 2017-03-09 0
7 2017-03-08 1
我想補充另一列,被稱爲「狀態」,這是在第一次基礎上,「訂單」列,但也對「狀態'列,具體取決於'訂單'欄的值。
如果我在狀態欄的Excel中添加一個公式,它將是: = if(order = 1,1,if(order-1,-1,status [from row-1]))
所以生成的表是這樣的:
Date Order Status
0 2017-03-15 0 0
1 2017-03-14 1 1
2 2017-03-13 0 1
3 2017-03-12 0 1
4 2017-03-11 -1 -1
5 2017-03-10 0 -1
6 2017-03-09 0 -1
7 2017-03-08 1 1
狀態欄應該結束了,只有1或-1,初始分類後(可能與0的,直到那個時候開始,雖然)。儘管順序列通常在1和-1之間交替(除了散佈的0之外),但是也可能的是,順序列可能具有1,例如,在下一行之後,或者在幾行之後,在-1之前。這是一個輸入數據錯誤,我可以忽略,但代碼可能需要考慮這一點。
我目前使用熊貓,但如果需要也可以使用numpy。
希望這已經夠清楚了。原諒糟糕的格式。並感謝您的幫助。
組合
謝謝你的。我剛剛嘗試過,它效果很好。我只需在第二行前添加'df ='即可讓列保留在我的輸出中。現在它給了我一些功課,來弄清楚它是如何工作的以及爲什麼這樣做的! –