Pandasでデータファイルの読み込みができます。csvを始めxlsx形式のものなどかなりの数のデータ形式に対応しています。
その中でも特にcsvファイルの読み込みで知っておくと便利なオプションの紹介です。
Pandasでcsvファイルを読み込むには約50種類のオプションがあります。それぞれのオプションは pandas.read_csv() のキーワード引数で指定します。
詳細は公式ドキュメントを見て下さい。
便利なオプションの紹介
区切り文字の指定
sep=’,’のように指定します。
csvの区切り文字は値と値の区切りを示す重要な働きをします。その区切り文字を指定するものです。
デフォルトはカンマ(,)です。
headerの指定
csvの中でheaderを指定するものです。headerは表データの場合列名に当たる部分です。
header=3 のようでheaderにしたい行を整数値で指定します。
デフォルトはheader=0です。
usecols
csv読み込み時に使用する列の指定ができます。
usecols=[‘foo’, ‘bar’] のように取得したい列名を指定します。列番号で指定することも可能です。
usecols=[2, 4, 6]
これは便利に使えますが、できれば一つ一つ列を指定するのではなく、連続して指定したい場合もあります。
その場合は、*range()を使うと良いです。
例 次のようなデータをcsvで読み込みます。ファイル名はsample.csvとします。
列名を指定して読み込みます。
sample = pd.read_csv('sample.csv', usecols=['no1', 'no3', 'no8']) sample
列番号を指定しても同じ結果になります。
sample = pd.read_csv('sample.csv', usecols=[0, 2, 7]) sample
連続したセルや飛び飛びのセルを指定。この方法を知っていると複雑な指定ができます。
この指定方法はread_excelでも同様なことができますので活用して下さい。
sample = pd.read_csv('sample.csv', usecols=[*range(0, 3), 5, 7, *range(8, 10)]) sample
skiprows
不要な行を指定することができます。
指定方法は行番号で指定します。行番号はheader部分から0から数えますので注意して下さい。
sample = pd.read_csv('sample.csv', usecols=[0, 2, 7], skiprows=[1, 3]) sample
*range()を活用して連続した値を指定できます。
sample = pd.read_csv('sample.csv', usecols=[*range(0, 3), 5, 7, *range(8, 10)], skiprows=[*range(1, 3), 4]) sample
*range(0, 3) この書き方を覚えるとかなり色々なところで活用できます。これはアンパックすることでrange()で指定した連続値をリストにしているのです。
よくわからない場合は次のように試すと良いです。
def calc(a, b, c): return a + b + c # 次の2つは同じ意味になる print(calc(*range(1,4))) print(calc(1, 2, 3))
コメントを投稿するにはログインしてください。