pythonによるデータ分析入門を写経していく(その1)
pythonによるデータ分析入門
以下のようなモチベーションで、この本を読んで、写経していくことにする
本の環境はpython2系で行っていたが、私はpython3系でとりあえずスタートしてみる。メモ。
このシリーズは何回になるのだろうか・・・。
ipythonとpandasの起動確認
ipython3 --pylab
- pylabモードとは?
- matplotlibをipythonで実行するためのモード?
- ipythonで起動したあとでモジュールを読み込むのとの違いは何でしょうか?
動作確認
import pandas
plot(arange(10))
データの読み込み
In [9]:path ='usagov_bitly_data2012-03-16-1331923249.txt'
In [10]:open(path).readline()
Out[10]: '{ "a": "Mozilla\\/5.0 (Windows NT 6.1; WOW64) AppleWebKit\\/535.11 (KHTML, like Gecko) Chrome\\/17.0.963.78 Safari\\/535.11", "c": "US", "nk": 1, "tz": "America\\/New_York", "gr": "MA", "g": "A6qOVH", "h": "wfLQtf", "l": "orofrog", "al": "en-US,en;q=0.8", "hh": "1.usa.gov", "r": "http:\\/\\/www.facebook.com\\/l\\/7AQEFzjSi\\/1.usa.gov\\/wfLQtf", "u": "http:\\/\\/www.ncbi.nlm.nih.gov\\/pubmed\\/22415991", "t": 1331923247, "hc": 1331822918, "cy": "Danvers", "ll": [ 42.576698, -70.954903 ] }\n'
In [18]: records = [json.loads(line) for line in open(path)]
リスト内包
>>> aray = [1, 2, 3]
>>> [x*2 for x in aray]
[2, 4, 6]
- やっていること
- arayの配列から最初の値をxに代入し、
x*2
を実施。その結果をアウトプットの配列に追加 - arayの配列から2つ目の値をxに代入し、
x*2
を実施。その結果をアウトプットの配列に追加 - ・・・(繰り返し)・・
- 結果の配列を返す
- arayの配列から最初の値をxに代入し、
Rでいうapply関数っぽい
配列へのアクセス
In [23]: records[0]['tz']
Out[23]: 'America/New_York'
In [24]: print records[0]['tz']
File "<ipython-input-24-6121f27427c5>", line 1
print records[0]['tz']
^
SyntaxError: invalid syntax
In [25]: print(records[0]['tz'])
America/New_York
Rと同じ。ただし、pythonは先頭が0、Rは先頭が1となる。注意。
python2.x VS python3.X
参考:http://www.python-izm.com/contents/basis/difference_in_version.shtml
- python3系ではprint関数
- 2:
print hoge
- 3:
print(hoge)
- 2:
- python3系ではunicode型のみ
- python3系で
u'hoge'
とする必要ない
- python3系で