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