
を展開する場合は
| 1 | sympy.expand(2*b*(x + 2)*(x - 4)) | 
Out:
| 1 | 2*b*x**2 - 4*b*x - 16*b | 

を展開する場合は
| 1 | sympy.expand(2*b*(x + 2)*(x - 4)) | 
Out:
| 1 | 2*b*x**2 - 4*b*x - 16*b | 
因数分解一問目

| 1 2 3 4 5 | import sympy x,y,z,a,b = sympy.symbols('x,y,z,a,b') A4 = 2*b*x**2-4*b*x-16*b sympy.factor(A4) | 
OUT:
| 1 | 2*b*(x - 4)*(x + 2) | 
因数分解二問目

| 1 2 | A5 = 5*a*x**2-45*a sympy.factor(A5) | 
OUT:
| 1 | 5*a*(x - 3)*(x + 3) | 
.npzフォーマットをcsvに変換
| 1 2 3 4 5 | import numpy as np data = np.load('test.npz') for key, value in data.items():     np.savetxt("somepath" + key + ".csv", value) | 
HoloViews.orgにて学んだ内容をまとめていきます。
HoloViewsとはオープンソースpythonライブラリーで
データ分析、ビジュアライゼーションを簡単に素早く行う事が可能
HoloViews.orgに掲載されているサンプル
コードは驚くほどシンプルな構造
更にGalleryページにはBoken,Matplotlib,Plotlyを使用した
サンプルグラフがある
各グラフのコードのサンプルもHoloViews.orgにて紹介している
condaがお勧め
| 1 | conda install -c ioam holoviews bokeh | 
上記で紹介したサンプルのグラフも含まれている
| 1 2 | holoviews --install-examples cd holoviews-examples | 
pandas,numpyを使用する
hv.extension(“bokeh”)でBokehのエクステンションをロードし
Bokehを使った可視化ができるようになる
他のプロットライブラリーも組み合わせ可能(matplotlib等)
| 1 2 3 4 | import pandas as pd import numpy as np import holoviews as hv hv.extension('bokeh') | 
次にニューヨークの地下鉄の駅名やその他情報を
含むデータセットを読み込む
csvファイルはこちら
| 1 2 | station_info = pd.read_csv('/station_info.csv') station_info.head() | 
hv.Scatterオブジェクトを使用して
駅の数と利用者数(百万単位)の2つをスキャッタープロット表示
| 1 2 | scatter = hv.Scatter(station_info, 'services', 'ridership') scatter | 
※画像のリンク先でグラフをドラッグで動かせる
csvのデータ(station_info)をhv.Scatterに渡し、scatterオブジェクトを作成
これ以外のエレメントはReference Galleryにて紹介
hv.Histogramオブジェクトを使用して地下鉄の駅開設日を
ヒストグラムにする
| 1 2 | layout = hv.Histogram(np.histogram(station_info['opened'], bins=24), kdims=['opened']) layout | 
スキャッタープロットとヒストグラムなど複数のオブジェクトを
使用したグラフを横並びに表示する
| 1 2 | layout = scatter + hv.Histogram(np.histogram(station_info['opened'], bins=24), kdims=['opened']) layout | 
以下ここまでのコードまとめ
| 1 2 3 4 5 6 7 8 9 10 | import pandas as pd import numpy as np import holoviews as hv hv.extension('bokeh') station_info = pd.read_csv('holoviews-master/examples/assets/station_info.csv') scatter = hv.Scatter(station_info, 'services', 'ridership') layout = scatter + hv.Histogram(np.histogram(station_info['opened'], bins=24), kdims=['opened']) layout | 
脳のニューロン発火現象を記録したデータセットを用いて
発火時間(milliseconds)
神経細胞が発火する頻度をヘルツ(Hertz)
の2つのデータセットを可視化
csvファイル(spike_train.csv.gz)はこちら
pandasとholoviewsをインポートし、spike_trainにcsvを読み込ませる
| 1 2 3 | import pandas as pd import holoviews as hv spike_train = pd.read_csv('/spike_train.csv.gz') | 
データフレームを表示
| 1 | spike_train | 

可視化のオブジェクトにhv.Curveを使用
先ほど使用したhv.Scatter やhv.Histogramの仲間
hv.Curveの引数を左からcsv格納変数、インデックス名2つ、group=でグラフタイトル
| 1 | curve = hv.Curve(spike_train, 'milliseconds', 'Hertz', group='Firing Rate') | 
bokehとmatplotlibをロード
| 1 2 | hv.extension('bokeh', 'matplotlib') curve | 

| 1 2 | spikes = hv.Spikes(spike_train.sample(300), kdims='milliseconds', vdims=[], group='Spike Train') spikes | 

2つのグラフを並べる
| 1 | curve + spikes | 

更にカスタマイズして見やすいグラフ作成
グラフ上にカーソルを合わせると各データをインタラクティブに表示
| 1 2 3 4 5 6 7 8 9 10 11 | %%output size=150 %%opts Curve  [height=100 width=600 xaxis=None tools=['hover']] %%opts Curve (color='red' line_width=1.5) %%opts Spikes [height=100 width=600 yaxis=None] (color='grey' line_width=0.25) curve  = hv.Curve( spike_train, 'milliseconds', 'Hertz') spikes = hv.Spikes(spike_train, 'milliseconds', []) (curve + spikes).cols(1) | 
%%output size=150で全体のサイズ
%%opts Curve でcurveグラフ個別の詳細設定
以下のグラフは画像ですのでインタラクティブ操作できません
実際に動かすにはこちらのグラフをご覧ください。

Bokeh と Holoviewsで月食グラフをhtmlに変換
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import pandas as pd import holoviews as hv from bokeh.io import output_file, save, show hv.extension('bokeh', 'matplotlib') eclipses = pd.read_csv('../data/eclipses_21C.csv', parse_dates=['date']) eclipses.head() hv.Curve(eclipses) curve= hv.Curve(eclipses) renderer = hv.renderer('bokeh') # rendererで保存 renderer.save(curve, 'graph') # boken形式に変換 plot = renderer.get_plot(curve).state # graph.htmlの名でhtmlファイルを出力 output_file('graph.html') # プロット show(plot) | 
パスにファイルかフォルダーが存在すればTrue
無ければFalse
| 1 2 3 | import os if not os.path.exists('./assets/nyc_taxi.csv'):     print('Taxi dataset not found.') | 
パスにファイルかフォルダーが存在し、かつ
ファイルであればTrueそうでなければFalse
| 1 2 3 | import os if not os.path.isfile('./assets/nyc_taxi.csv'):     print('Taxi dataset not found.') |