1

データを操作するのに問題がありnumpy.maます。以前に空白の値をマスクするために使用したことがあると確信していますが、その方法がわかりません。これが私が抱えている問題を示すコードの抜粋です。

import numpy as np
import numpy.ma as ma

x = np.array([[0.0, 1.1, '', 2.2, ''],[3.3,'', 4.4, '', 5.5]])
for index, value in np.ndenumerate(x):
    if value == '':
        x[index] = None
x = ma.masked_values(x, None)
print x

これは印刷します:

[['0' '1' 'N' '2' 'N']
 ['3' 'N' '4' 'N' '5']]

私がやろうとしているのは、欠落している値がマスクされたフロートのマスクされた配列を取得することです。ファイナルは以下printを生成する必要があります。

[[0.0 1.0 -- 2.0 --]
 [3.0 -- 4.0 -- 5.0]]
4

1 に答える 1

2

空の文字列をに置き換えた場合NaN、次のように機能します。

In [19]: x = np.array([[0.0, 1.1, np.nan, 2.2, np.nan],[3.3,np.nan, 4.4, np.nan, 5.5]])

In [20]: m = ma.masked_array(x, np.isnan(x))

In [21]: print(m)
[[0.0 1.1 -- 2.2 --]
 [3.3 -- 4.4 -- 5.5]]

に変更する最も簡単な場所''は、np.nanに配置する前ですnp.array

于 2013-01-26T10:12:06.973 に答える