我已經創建了2個數據幀。一個叫做'dfmas'的收盤價和移動平均線;爲什麼我在連接兩個熊貓數據幀時獲得NaN值>
PX_OPEN PX_HIGH PX_LOW PX_LAST ma5 ma8 ma21
Date
12/19/2016 117.90 118.03 116.55 117.09 117.086 116.22625 114.231905
12/20/2016 117.09 118.24 116.99 117.86 117.620 116.70375 114.567143
12/21/2016 117.86 118.07 117.11 117.55 117.722 116.98250 114.872381
12/22/2016 117.55 117.88 117.27 117.54 117.594 117.29750 115.111429
我已經然後創建了另一個熊貓數據幀「ma5xdf」表示我,當5日均線上升(+1)和下降沿(-1)或電平(0);
ma5x
0 0
1 0
2 0
3 0
4 -1
5 -1
6 -1
7 -1
8 1
9 1
我想那麼這兩個dataframes合併爲1,但我得到NaN值的負荷上升/下降第5天,並在原來的「dfmas」數據的尾部。我在用着;
dfx = pd.concat([dfmas, ma5xdf], axis =1)
print(dfx.tail(4))
我得到了;
PX_OPEN PX_HIGH PX_LOW PX_LAST ma5 ma8 ma21 ma5x
1845 NaN NaN NaN NaN NaN NaN NaN 1.0
1846 NaN NaN NaN NaN NaN NaN NaN 1.0
1847 NaN NaN NaN NaN NaN NaN NaN 1.0
1848 NaN NaN NaN NaN NaN NaN NaN 1.0
任何與代碼的幫助將被感激地接受,謝謝!
'pd.concat'是'index'(帶有'axis = 0',默認值)或'columns'(帶有'axis = 1')的合併。當您與其索引(或列)未對齊的另一個對象連接時,它會生成外部連接。您需要使用'dfmas'中的索引來創建'ma5xdf' – piRSquared
輸入數據的期望輸出是什麼? 2個DF似乎有不同的行數。 – Allen
期望的輸出是將ma5xdf與dfmas對齊。 5日均線如何上漲或下跌與dfmas中的實際5日均線相比。我不知道如何將它索引到dfmas,或者如何對齊,因爲df5xdf有1個較少的行? – Bugsy