0

だから私は使った

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

たとえば、 「Ia」、「Iabg」、および「Iat」でTypeIa =ある配列のすべての文字列に設定したいと考えています。type

4

1 に答える 1

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']
于 2013-11-03T22:27:57.063 に答える