このような最初の3つの列を持つcsvファイルがあります
2011,12,25,...
2011,12,26....
2011,12,27,...
...
これらの列は基本的に年、月、日です。他の列には文字列が含まれます。全部で 100 行 6 列あります。私はnumpy.loadtxt
これを配列に入れるために使用します。
input = numpy.loadtxt('file.csv', dtype='i4, i4, i4, S4, S4, S4', delimiter=',')
問題:私が理解しているように、この loadtxt 操作は shape を持つ配列を返す必要があり100x6
ます。ただし、これは の配列を返します。100x1
各要素は の配列です1x6
。
これを の通常の 2D 配列にしたい100x6
。ネットでいくつかのリソースを調べました。csv データの一部の列には文字列が含まれているため、dtype
引数を使用する必要があるようです。その結果、入力は 2D 配列ではなく、配列の 1D 配列になります。これらのサイトにある例をいくつか試してみましたが、CSV ファイルのすべてのエントリが数字である限り、問題なく動作するようです。
私が探しているのはどちらかです
- データを通常の 2 次元配列にインポートする方法
- loadtxt が配列の配列をインポートする理由の説明
CSV ファイルの例:
2011,12,25,AAA,AAA,AAA
2011,12,26,BBB,BBB,BBB
2011,12,27,CCC,CCC,CCC