2017-06-08 2 views
-2

にnumpyの配列は、それがdata_arrayと呼ばれて含まれている変数3000×16 、私は非常に大きなfloatの配列を持って判明コピーし、私は同じのただ一つの列に滞在したい:のpython新しいメモリアドレス

distortions = data_array[:, 1] 

問題は、私は整数にすべての要素を変換したいということですが、コード:

for element in distortions: 
    element = int(element) 

は働いていません。

Iの歪みが新しいメモリアドレスにコピーされていない第2の列data_arrayを指す変数であり、したがってとして単一の列の種類を変更できないためであると考えていますnumpyのアレイの要素はすべて同じ型でなければなりません。それはそれのようなものですか?

もしそうなら、私の質問は次のようになります。どのように私は新しいメモリアドレスにその列をコピーすることができ、その後、私のニーズに応じて、それを変換するために?

トータルありがとう。

ルチア。

+0

、 – Nuageux

+0

を理解することができ、それはintにfloat型から配列の列acercaの種類を変えた下さいイングレスを使用してください – EdChum

+0

申し訳ありませんが、問題はすでに解決しているので、我々はすべて英語で –

答えて

0

使用astypeは配列全体、またはスライス全体変換する:等

data_array[:, 1].astype(int) 

A Pythonのループ:

for element in distortions: 
    element = int(element) 

distortionsの要素を変更しません。 element = ...は、反復変数を再割り当てし、distoritionsに何もしません。 SOオン

関連する問題