2013-11-27 7 views
10

私はPythonの新機能です。実際には、一般的なプログラミングには新しいですが、私はその言い訳を永遠に使用することはできません。このスレッドのタイトルで言及されている2つの機能の違いを知ってください。ドキュメンテーションが含まれているWebサイトから、「numpy.loadtxtはデータがない場合の同等の機能です」と表示されます。これは正確に何を意味していますか?たとえば、データを含む2つの列の間に空白の列があるcsvファイルがある場合、numpy.loadtxtを使用しないでください。numpy.genfromtxtとnumpy.loadtxtの違いとアンパック

また、この平均値を何、

"unpack : bool, optional 
If True, the returned array is transposed, so that arguments may be unpacked using x, y, z = loadtxt(...)" 

私はこれが何を意味するのかに関してはかなり確かではありませんよ。

私はあなたの助けに感謝します、ありがとう!

答えて

10

あなたは正しいですか? np.genfromtxtを使用すると、missing_values,filling_valuesのようないくつかのオプションがあり、不完全なものを扱うのに役立ちますcsv。例:あなたが別の変数にテキストファイルの各列を入れたいときunpackが便利です

filling_values = (111, 222, 333, 444, 555) # one for each column 
np.genfromtxt(filename, delimiter=',', filling_values=filling_values) 
#array([[ 1., 2., 333., 444., 5.], 
#  [ 6., 222., 8., 444., 555.], 
#  [ 11., 222., 333., 444., 555.]]) 

パラメータ:

1,2,,,5 
6,,8,, 
11,,,, 

をして読み取ることができます。たとえば、あなたがして、列x, y, zのテキストファイル、持っている:

x, y, z = np.loadtxt(filename, unpack=True) 

注これは2次元配列を反復デフォルトで

x, y, z = np.loadtxt(filename).T 

と同じように動作することを行を反復意味、それはですこの例では、なぜ転位するか、unpack=Trueを使用する必要があります。

+3

'np.genfromtxt'だけが持っているもう1つの素晴らしいオプションは、' names = True'と言うことができるので、フィールドを持つ構造化配列を使いたい場合、フィールド名はファイル。 – askewchan

関連する問題