0
私は、リスト形式でnumpy行列の列を抽出しようとしています。私は方法tolist()
を使用しましたが、私の目的には役に立たないです。 コードを見てみましょう。numpy tolist()不快出力
import numpy as np
def get_values(feature):
'''
This method creates a lst of all values in a feature, without repetitions
:param feature: the feature of which we want to extract values
:return: lst of the values
'''
values = []
for i in feature:
if i not in values:
values.append(i)
return values
lst=[1, 2, 4, 4, 6]
a=get_values(lst)
print(a)
b=np.matrix('1 2; 3 4')
col = b[:,0].tolist()
print(col)
if col == [1, 3]:
print('done!')
あなたが見ることができるように、方法tolist()
から返されたリストは、if文でOUTPUT
[1, 2, 4, 6]
[[1], [3]]
無視されます。今、if文を変更できない場合(何らかの理由で)、a
のようにb
のように管理するにはどうしたらいいですか?
を働きます関数は大規模な 'フィーチャー'で恐ろしくスケールされます。 –
恐ろしいことにどういう意味ですか?私はこの機能に問題はありませんでした – Bernheart
@Well、その後、機能はあまり大きくありません。しかし、あなたのアルゴリズムは二次的な時間です。 'set'を使うと線形になります。あなたがそれを使用しているスケールでうまく動作する場合は、それを変更する必要はありません。しかしそれが二次的な時間であることに注意してください。 –