列の選択とデータ型の設定
時には、データの一部のみが必要になることがあります。usecols 引数を使用すると、インポートする列を指定できます。これは、列インデックス(0 から始まる)の タプル(値の不変シーケンス、例:(1, 2))を取ります。例えば、usecols=(1, 2) は「列 1 と列 2 のみをインポートする」という意味です。
さらに、dtype 引数を使用して、インポートされるすべてのデータに特定の データ型 を強制することができます。プログラミングにおいて、データ型は値がどのように格納され、どのような操作が可能かを決定します。例えば、dtype=int はすべての値を整数(小数点のない数値)に変換し、dtype=float はそれらを浮動小数点数(小数点のある数値)として維持し、dtype=str はそれらをテキストとして扱います。dtype=int は小数点部分を切り捨てる(22.5 は 22 になる)ことに注意してください。
スクリプトを更新して、Temperature(列 1)と Humidity(列 2)のみをインポートし、それらが浮動小数点数として扱われるようにしましょう。
main.py を最後に更新します。
import numpy as np ## NumPy ライブラリをインポートします
## 特定の列を選択し、データ型を設定します
data = np.genfromtxt('/home/labex/project/my_data.csv', delimiter=',', skip_header=1,
missing_values='NA', filling_values=0,
usecols=(1, 2), dtype=float)
## 結果の配列を表示します
print(data)
注:この例では filling_values を 0 に変更しました。
ファイルを保存し、ターミナルから実行してください。
python main.py
最終的な出力は、温度と湿度データのみを含む 2 次元配列になります。
[[22.5 45. ]
[23.1 48. ]
[ 0. 46. ]
[23.5 52. ]]
これで、関連する列のみを選択し、データの一貫性をすべて処理することで、データセットのインポートとクリーニングに成功しました。