NumPy を使ったフラットファイルのインポート

Python でのデータインポート入門

Hugo Bowne-Anderson

Data Scientist at DataCamp

NumPyを選ぶ理由

  • NumPy配列: 数値データ保存の標準的な形式

ch_1_3.003.png

Python でのデータインポート入門

NumPyを選ぶ理由

  • NumPy配列: 数値データ保存の標準的な形式
  • 他のパッケージに必須: 例: scikit-learn ch_1_3.004.png
  • loadtxt()
  • genfromtxt()
Python でのデータインポート入門

NumPy を使ったフラットファイルのインポート

import numpy as np
filename = 'MNIST.txt'
data = np.loadtxt(filename, delimiter=',')
data
[[   0.    0.    0.    0.    0.]
 [  86.  250.  254.  254.  254.]
 [   0.    0.    0.    9.  254.]
 ..., 
 [   0.    0.    0.    0.    0.]
 [   0.    0.    0.    0.    0.]
 [   0.    0.    0.    0.    0.]]
Python でのデータインポート入門

NumPy のインポートのカスタマイズ

import numpy as np
filename = 'MNIST_header.txt'
data = np.loadtxt(filename, delimiter=',', skiprows=1)
print(data)
[[   0.    0.    0.    0.    0.]
 [  86.  250.  254.  254.  254.]
 [   0.    0.    0.    9.  254.]
 ..., 
 [   0.    0.    0.    0.    0.]
 [   0.    0.    0.    0.    0.]
 [   0.    0.    0.    0.    0.]]
  • skiprows: スキップしたい行数(インデックスではない)
Python でのデータインポート入門

NumPy のインポートのカスタマイズ

import numpy as np
filename = 'MNIST_header.txt'
data = np.loadtxt(filename, delimiter=',', skiprows=1, usecols=[0, 2])
print(data)
[[   0.    0.]
 [  86.  254.]
 [   0.    0.]
 ..., 
 [   0.    0.]
 [   0.    0.]
 [   0.    0.]]
  • usecols: 保持したい列のインデックス一覧
Python でのデータインポート入門

NumPy のインポートのカスタマイズ

data = np.loadtxt(filename, delimiter=',', dtype=str)
Python でのデータインポート入門

混合データ型

titanic.csv

                        Name      Sex  Cabin   Fare
     Braund, Mr. Owen Harris     male    NaN    7.3
  Cumings, Mrs. John Bradley   female    C85   71.3
      Heikkinen, Miss. Laina   female    NaN    8.0
Futrelle, Mrs. Jacques Heath   female   C123   53.1
    Allen, Mr. William Henry     male    NaN   8.05


1 出典: Kaggle
Python でのデータインポート入門

混合データ型

titanic.csv

                        Name      Sex  Cabin   Fare
     Braund, Mr. Owen Harris     male    NaN    7.3
  Cumings, Mrs. John Bradley   female    C85   71.3
      Heikkinen, Miss. Laina   female    NaN    8.0
Futrelle, Mrs. Jacques Heath   female   C123   53.1
    Allen, Mr. William Henry     male    NaN   8.05
               ^                                 ^
            strings                           floats
1 出典: Kaggle
Python でのデータインポート入門

練習しましょう!

Python でのデータインポート入門

Preparing Video For Download...