1
鑑於如下表order_size
:棧數據和刪除0/NaN的
Symbol BAX BTP CT D DX ESTX50 GBM GBP GBS GE I LE NZD S ZL
Date
2016-03-03 0 0 -2 0 0 0 0 0 0 0 0 0 0 0 0
2016-03-04 -12 0 0 0 0 0 0 0 0 1 0 0 -1 0 0
2016-03-07 0 0 0 0 -1 0 1 -1 4 -1 1 0 1 1 0
2016-03-08 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0
2016-03-10 0 0 0 0 0 0 0 1 -1 0 0 0 0 0 0
2016-03-11 0 0 0 0 0 0 -1 -1 -1 0 -1 0 1 -1 0
2016-03-14 0 0 0 0 0 0 0 0 0 0 0 0 -1 1 0
2016-03-15 -1 0 0 0 0 0 0 0 0 1 0 0 1 0 0
2016-03-17 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 -1
我需要將其轉換成一個堆疊視圖,具有佈局結束瞭如此: Date | Symbol | Value
,其中值不0
意味着所有條目都被丟棄。 如果我使用df.stack()
,它將它轉換爲pd.TimeSeries
,這不是我想要的(因爲我將缺少第三列)。
Date Symbol
2016-03-03 BAX 0
BTP 0
CT -2
D 0
DX 0
ESTX50 0
GBM 0
GBP 0
這使得它看似不可能的運行order_size.loc[:, (order_size.Value != 0).any(axis=0)]
刪除0(因爲Values
是不是在pd.Series
列)。
編輯
運行df.stack()
前order_size.replace('0', np.NaN)
差不多的伎倆,但仍然pd.Series
是不可取的,因爲我需要一個第三列Value
。
請檢查解決方案 - 您需要將'0'替換爲'NaN'還是所有值不是'0'都替換爲'NaN'? – jezrael
我需要用'NaN'替代'0'! – nlsdfnbch