【发布时间】:2017-01-08 10:37:49
【问题描述】:
拥有我正在尝试优化的这段代码。 它使用列表推导和工作。
series1 = np.asarray(range(10)).astype(float)
series2 = series1[::-1]
ntup = zip(series1,series2)
[['', 't:'+str(series2)][series1 > series2] for series1,series2 in ntup ]
#['', '', '', '', '', 't:4.0', 't:3.0', 't:2.0', 't:1.0', 't:0.0']
在这里尝试使用np.where()。有numpy 的解决方案吗? (没有消费系列)
series1 = np.asarray(range(10)).astype(float)
series2 = series1[::-1]
np.where(series1 > series2 ,'t:'+ str(series2),'' )
结果是这样的:
array(['', '', '', '', '', 't:[ 9. 8. 7. 6. 5. 4. 3. 2. 1. 0.]',
't:[ 9. 8. 7. 6. 5. 4. 3. 2. 1. 0.]',
't:[ 9. 8. 7. 6. 5. 4. 3. 2. 1. 0.]',
't:[ 9. 8. 7. 6. 5. 4. 3. 2. 1. 0.]',
't:[ 9. 8. 7. 6. 5. 4. 3. 2. 1. 0.]'],
dtype='|S43')
【问题讨论】:
-
你是否也需要那些空的或者类似的东西也可以 -
['t:4.0', 't:3.0', 't:2.0', 't:1.0', 't:0.0']? -
我需要空值。
标签: python string performance numpy