Python - よく使うモジュール - pandas 数値計算・統計

クラウディア 
1. 概要
2. .csv 読込
3. 最大行数指定

1. 概要

 「pytorch」を扱っているときに、「.csv」を読み取るところで出現したので、「.csv」のパーサかと思えば、さにあらず。  「pandas - Wikipedia」によれば、「pandasは、プログラミング言語 Python において、データ解析を支援する機能を提供するライブラリである。」とのことです。  「CSV」、テキストファイル、「Excel」、「SQL データベース」等を扱えるそうで、「.csv」を読み込むメソッドも用意されているわけです。  名前で、中国の変な動物を想像したのですが、「Pan(el)-da(ta)-s」だそうです。  本ページは、下記のサイトを参考にさせていただきました。
pandas documentation」
「pandas CSV/TSV ファイル読み込み(read_csv, read_table)」
「【pandas】csv ファイルを読み込む方法」
「Python ライブラリに変な名前のものが多い理由
 悲しいことに、公式のページは、英語のみで、日本語の解説はあるものの、なかなかわたしがほしい資料はないのです。

2. .csv 読込

 「data_01.csv」という「.csv」ファイルがあって。  中身は。

4,1,781,1748,True,0,0,0,0,False,0,0,0,0,False
1,1,804,1754,True,0,0,0,0,True,4,1,1790,1183,True
1,1,795,1755,True,0,0,0,0,False,0,0,0,0,False
0,1,786,1756,True,0,0,0,0,False,0,0,0,0,False
0,1,786,1756,True,1,1,2514,1004,True,1,1,1788,1186,True
 となっています。  中身の意味については、聞いてくださるな。  これを、もっとも単純な形式で読み込むと。

import pandas

df =  pandas.read_csv('data_01.csv')
print(df)
 こんな感じで出力されます。

   4  1  781  1748  True  0  0.1   0.2   0.3  False  0.4  0.5   0.6   0.7  False.1
0  1  1  804  1754  True  0    0     0     0   True    4    1  1790  1183     True
1  1  1  795  1755  True  0    0     0     0  False    0    0     0     0    False
2  0  1  786  1756  True  0    0     0     0  False    0    0     0     0    False
3  0  1  786  1756  True  1    1  2514  1004   True    1    1  1788  1186     True
 てな感じで、出力されます。  1行目は、ヘッダとして解釈するですな。  ヘッダなしとするには、「header=None」というオプションを使用します。

df =  pandas.read_csv('data_01.csv', header=None)
 と書き換えて、実行すると、下記の出力になります。

   0   1    2     3     4   5   6     7     8      9   10  11    12    13     14
0   4   1  781  1748  True   0   0     0     0  False   0   0     0     0  False
1   1   1  804  1754  True   0   0     0     0   True   4   1  1790  1183   True
2   1   1  795  1755  True   0   0     0     0  False   0   0     0     0  False
3   0   1  786  1756  True   0   0     0     0  False   0   0     0     0  False
4   0   1  786  1756  True   1   1  2514  1004   True   1   1  1788  1186   True
 実は、これ、5つずつのデータセットとなっていて・・・。  5つつめずつにある、「True」「False」のデータは実はいらないのだ。  「0~3、5~8、10~13」のみ使いたい。  この場合。

df =  pandas.read_csv('data_01.csv', header=None, , usecols=[0,1,2,3,5,6,7,8,10,11,12,13])
 と書き換えて、実行すると、下記の出力になります。

   0   1    2     3   5   6     7     8   10  11    12    13
0   4   1  781  1748   0   0     0     0   0   0     0     0
1   1   1  804  1754   0   0     0     0   4   1  1790  1183
2   1   1  795  1755   0   0     0     0   0   0     0     0
3   0   1  786  1756   0   0     0     0   0   0     0     0
4   0   1  786  1756   1   1  2514  1004   1   1  1788  1186

3. 最大行数指定

 読込時の最大行数を「nrows=n」で、指定することができます。  前項の行を。

df =  pandas.read_csv('data_01.csv', header=None, usecols=[0,1,2,3,5,6,7,8,10,11,12,13], nrows=2)
 と書き換えて、実行すると、下記の出力になります。

   0   1    2     3   5   6   7   8   10  11    12    13
0   4   1  781  1748   0   0   0   0   0   0     0     0
1   1   1  804  1754   0   0   0   0   4   1  1790  1183
ハイスピードプランマイニングベース