所以我用了
numpy.genfromtxt('...', dtype=None, usecols=
(0,6,7,8,9,19,24,29,31,33,34,37,39,40,41,42,43,44), names=
['sn','off1','dir1','off2','dir2','type','gal','dist','htype','d1','d2','pa','ai','b','berr
','b0','k','kerr']))
阅读一些数据。
数组type
包含许多不同的字符串,例如Ia,II等。
如何创建仅使用type
TypeIa =
设置为数组type
的所有字符串'Ia','Iabg'和'Iat'。
答案 0 :(得分:1)
您可以使用filter
内置功能。另外,为简单起见,我在下面的示例中使用了functools.partial
。你也可能觉得它很方便。
首先,我准备了一些测试数据,为简单起见,这里不公开代码
>>> type(data)
<type 'numpy.ndarray'>
>>> data['type']
['0-19' '1-19' '2-19' '3-19' '4-19' '5-19' '6-19' '7-19' '8-19' '9-19']
然后,让我们定义过滤功能
from functools import partial
def startswith(string, prefix):
return str.startswith(string, prefix)
startswith8 = partial(startswith, prefix='8-')
最后,我们准备应用过滤功能:
>>> filter(startswith8, data['type'])
['8-19']