我有一个对象Equity的Numpy数组,即:
array([ Equity(24, symbol='AAPL', asset_name='APPLE INC', exchange='NASDAQ GLOBAL SELECT MARKET'),
Equity(26578, symbol='GOOG_L', asset_name='GOOGLE INC', exchange='NASDAQ GLOBAL SELECT MARKET'),
Equity(5061, symbol='MSFT', asset_name='MICROSOFT CORP', exchange='NASDAQ GLOBAL SELECT MARKET'),
...,
Equity(20513, symbol='LOOK', asset_name='LOOKSMART LTD', exchange='NASDAQ CAPITAL MARKET', ),
Equity(27133, symbol='WPCS', asset_name='WPCS INTERNATIONAL INC', exchange='NASDAQ CAPITAL MARKET'),
Equity(27917, symbol='FREE', asset_name='FREESEAS INC', exchange='NASDAQ CAPITAL MARKET')], dtype=object)
对象Equity具有属性exchange。
哪一个最简洁的方法来获取仅包含Equity对象的子数组,其中exchange =='NEW YORK STOCK EXCHANGE'?
谢谢!
假设numpy数组命名为equity_array
。
使用清单理解
np.array([eqt for eqt in equity_array if eqt.exchange == 'NEW YORK STOCK EXCHANGE'])
使用Python内置函数 filter
np.array(filter(lambda x: x.exchange == 'NEW YORK STOCK EXCHANGE', equity_array))
请注意,在Python 3中filter
返回a,iterator
因此它应该是
np.array(list(filter(lambda x: x.exchange == 'NEW YORK STOCK EXCHANGE', equity_array)))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句