2018年4月27日金曜日

プログラミング学習:pandasでweb上の表を取得する。(python)

edx UCバークレー データサイエンス基礎講座のweek 1課題で、各国の女性の平均教育期間データをグラフ化するというのがありました。edxの講座内では、データがサーバー上に用意されているのですが、再現するにはデータを取得する必要があります。

Gapminder Data
https://www.gapminder.org/data/

上記サイトのMean years in school (women 25 years and older)というデータです。

Mean years in school (women 25 years and older)
https://docs.google.com/spreadsheets/d/1kmnYQzXLGVF9RbKB3Y-WuUsJFumnE4s2UWdmlskv6r4/pub

googleスプレッドシート形式で保存されています。なぜかcsv形式でのダウンロードができなかったので、この表をpythonで取得してみます。pandasを使うと簡単でした。

参考にしたのはこちら↓
Python, pandasでwebページの表(htmlのtable)をスクレイピング
https://note.nkmk.me/python-pandas-web-html-table-scraping/
HTML の表(table タグ) をスクレイピングする時も pandas が超便利
http://www.python.ambitious-engineer.com/archives/1174

まずはpandasをpdとしてimport。
import pandas as pd

そのほか、lxml, html5lib, BeautifulSoup4のパッケージも必要のようなので、インストールされていなければpipでインストールしてください。(anacondaでは元々入っていました)

urlを指定してread_htmlで表をリストに取得。
df_tmp = pd.read_html("https://docs.google.com/spreadsheets/d/1kmnYQzXLGVF9RbKB3Y-WuUsJFumnE4s2UWdmlskv6r4/pub",header=0)

read_htmlではhtmlからtableタグを見つけて、表をデータフレーム形式で取得します。一つのページに複数の表がある場合は、それぞれ違うデータフレームとしてリストに格納します。オプションの「header=0」で、1行目を列名として利用しています。

取得した表の数の確認
len(df_tmp)
6

lenでリストに格納された要素数を数えます。6なので、6個の表があったようです。

データ確認
df_tmp[0].head()

1Row Labels19701971197219731974197519761977...2000200120022003200420052006200720082009
02Afghanistan0.00.10.10.10.10.10.10.1...0.20.30.30.30.30.30.30.30.30.4
13Albania3.94.04.14.24.34.54.64.7...8.08.28.38.58.68.88.99.19.29.4
24Algeria0.60.60.60.70.70.80.80.9...3.03.13.23.43.53.63.83.94.04.2
35Angola0.50.50.50.50.60.60.60.7...1.92.02.12.22.32.42.52.62.72.8
46Antigua and Barbuda7.07.17.27.47.57.77.88.0...11.211.411.511.611.711.811.912.012.112.2
5 rows × 42 columns

df_tmpに格納された最初の表[0]を見てみます。ここに目的の表が最初にあったようです。ちなみにリスト内[1]から[5]までは違う表が入っています。

表の一番左はindexでpandasが付けた行番号。その左に元からあったとみられる行番号がありますが、これは不要なので削除します。

列削除
df=df_tmp[0]
df=df.drop("1",axis=1)
df.head()
Row Labels197019711972197319741975197619771978...2000200120022003200420052006200720082009
0Afghanistan0.00.10.10.10.10.10.10.10.1...0.20.30.30.30.30.30.30.30.30.4
1Albania3.94.04.14.24.34.54.64.74.8...8.08.28.38.58.68.88.99.19.29.4
2Algeria0.60.60.60.70.70.80.80.90.9...3.03.13.23.43.53.63.83.94.04.2
3Angola0.50.50.50.50.60.60.60.70.7...1.92.02.12.22.32.42.52.62.72.8
4Antigua and Barbuda7.07.17.27.47.57.77.88.08.1...11.211.411.511.611.711.811.912.012.112.2
5 rows × 41 columns

列名"1"を削除しました。df.dropで列名、axis=1で列方向と指定しています。ちなみに、列番号を指定して削除する場合は df.drop(df.columns[0],axis=1) とします。この方法がなかなか分からず、苦労しました。

csv保存
df.to_csv("school_women.csv", sep=",",index=False) 
念のためcsvに保存。sepで区切り文字(,)を指定。index=Falseで列番号を付けずに保存します。

こんな感じで、pandasを使うとweb上の表を簡単に取得できました。


参考:
Python, pandasでwebページの表(htmlのtable)をスクレイピング
https://note.nkmk.me/python-pandas-web-html-table-scraping/
HTML の表(table タグ) をスクレイピングする時も pandas が超便利
http://www.python.ambitious-engineer.com/archives/1174

edx UC Berkeley Foundations of Data Science(UCバークレー データサイエンス基礎講座)
ttps://www.edx.org/professional-certificate/berkeleyx-foundations-of-data-science
Computational Thinking with Python(pythonによるプログラミング的思考)
https://www.edx.org/course/foundations-data-science-computational-uc-berkeleyx-data8-1x

プログラミング学習:edx UCバークレー データサイエンス基礎講座の紹介(python)
https://eneprog.blogspot.com/2018/04/edx-uc-python.html

2018年4月25日水曜日

プログラミング学習:numpyをつかって1から50までの自然数の和を計算する。(python GCI chapter2)

東大 GCIデータサイエンティスト育成講座演習コンテンツ Chapter 2の課題です。

1から50までの自然数の和を計算するプログラムを書いて、最後の計算結果を表示させるプログラムを書いてください。ただし、Numpyを使ってください。

まずはnumpyをインストール。以後、npとして呼び出しします。
import numpy as np

np.arangeで配列を作成
sample_array = np.arange(50)
sample_array
array([ 0,  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, 26, 27, 28, 29, 30, 31, 32, 33,
       34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49])

np.arangeでは1つだけ数字を指定すると、0から指定した数字の1つ前までの連番配列を作ります。50なので、0から49までの配列ができました。

配列に1を足す
sample_array=sample_array+1
sample_array
array([ 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, 26, 27, 28, 29, 30, 31, 32, 33, 34,
       35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50])

sample_array+1で作った配列に1を足すと、全ての要素に1が足され、1から50の配列ができます。

あとはsum関数で要素全ての和を計算すればできあがり。
sum(sample_array)
1275

forループを使うよりすっきり簡単。

変数を使わなくても、printの中で計算することもできます。これだと1行で計算できる。
print(sum(np.arange(50)+1))
1275

最初から1から50の配列を作りたい場合はこのようになります。
np.arange(1,51)
array([ 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, 26, 27, 28, 29, 30, 31, 32, 33, 34,
       35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50])

1つめの因数が配列の始めの数字、2つ目が最後の数字+1になります。pythonでは、0から始まって指定した数の1つ前(51と指定すると50)で終わることに注意。これ、なかなか慣れずによく失敗します。

参考:
東京大学グローバル消費インテリジェンス寄付講座
http://gci.t.u-tokyo.ac.jp/
東京大学松尾研 GCIデータサイエンティスト育成講演習コンテンツ 公開ページ
http://weblab.t.u-tokyo.ac.jp/gci_contents/
プログラミング学習:東京大学のデータサイエンティスト育成講座(GCI)の演習コンテンツ
https://eneprog.blogspot.com/2018/04/python10gci-chapter1.html
プログラミング学習:10までの素数を表示させる。(python GCI chapter1) https://eneprog.blogspot.com/2018/04/python10gci-chapter1.html

2018年4月24日火曜日

blogger でコードを表示する。SyntaxHighlighterカスタマイズ(python表示例)

2018/4/30更新:SyntaxHighlighterが不安定だったのでCDNjsを使うように更新しました。この記事のコードハイライトは改訂版 で表示されています。
---

プログラミング学習のブログとして、コードの表示をどうするか悩んでいました。いろいろ試したところ、SyntaxHighlighterに落ち着きました。

SyntaxHighlighter
http://alexgorbatchev.com/SyntaxHighlighter/

導入・カスタマイズ方法は下記のページが大変参考になりました。

試行錯誤な日々:Bloggerでsyntax highlightを使う方法
http://asukiaaa.blogspot.jp/2016/12/bloggersyntax-highlight.html
1研究中:Bloggerでソースコードを貼り付ける(改改)
http://1studying.blogspot.jp/2017/04/blogger_93.html

最初は1研究中さんのコードで試したのですが、テーマをdefaultにするとスクロールバーが表示されなくなり、試行錯誤な日々さんのコードをほぼそのまま使っています。残念ながらプレビューでは表示されません。

導入方法はBlogger 編集画面 → テーマ → HTMLの編集を選択。</body>タグの上に下記コードを追加します。
<!-- SyntaxHighlighter  -->
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shCore.css' rel='stylesheet' type='text/css'/>
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js' type='text/javascript'/>

// 対応言語
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPlain.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPython.js' type='text/javascript'/>

<script language='javascript' type='text/javascript'>

SyntaxHighlighter.config.bloggerMode = true; // Blogger対応
SyntaxHighlighter.defaults['toolbar'] = false; // 「?」表示
SyntaxHighlighter.defaults['auto-links'] = false; // 自動リンク
SyntaxHighlighter.defaults['tab-size'] = 2; //tabインデント量
SyntaxHighlighter.all();

</script>

<style>
.syntaxhighlighter {
  padding: 0.3em !important; /* 上下空き */
  width: calc(100% - 2em) !important; /* 幅調整 */
  background-color:  #f7f7f7 !important; /* 背景色 コード背景色も変更が必要 */
  border: 1px solid #bbbbbb !important; /* ボーダー線 */
  -webkit-border-radius: 8px !important; /* 角丸 */
  -moz-border-radius: 8px !important;
  -ms-border-radius: 8px !important;
  -o-border-radius: 8px !important;
  border-radius: 8px !important;
}

.syntaxhighlighter .line.alt1 {
  background-color:  #f7f7f7 !important; /* コード偶数行背景色 */
}

.syntaxhighlighter .line.alt2 {
  background-color:  #f7f7f7 !important; /* コード奇数行背景色 */
}

.syntaxhighlighter .comments, .syntaxhighlighter .comments a{
    color:  #008200 !important; /* コメント色 */
//    font-style: oblique; /*斜体にする場合*/
}

.syntaxhighlighter .value {
  color:  rgb(0, 153, 0) !important; /* 代入数字色 */
}

.syntaxhighlighter .string {
    color: blue !important; /* 代入文字色 */
}

.syntaxhighlighter .functions {
    color: rgb(255, 20, 147) !important; /* 関数色 */
}

.syntaxhighlighter .keyword {
  font-weight: bold !important;
  color: rgb(0, 102, 153) !important; /* キーワード色 */
}

</style>

<!-- SyntaxHighlighter  -->
対応言語では必要な言語のみを読み込むようにしています。私はcss、javascript、plain text、pythonを選択しました。そのほかの言語は下記を参照ください。
http://alexgorbatchev.com/SyntaxHighlighter/manual/brushes/

style以下は表示形式の指定です。テーマをそのまま使う場合は必要ありません。ここでは背景色などを変えました。文字色は機能別にそれぞれ変更できます(上記コードはデフォルトの色です)。

使用するときには下記のようにpreタグで使用言語を指定します。brush:pyがpythonの指定です。


<pre class="brush:py gutter:true" title="pythonコード例">
k=10

for t in range(2,k+1): 
    for i in range(2,t+1):
        if t%i ==0:
            break
    if i==t:
        print(t)

k=10

for t in range(2,k+1):  
    for i in range(2,t+1):
        if t%i ==0:
            break
    if i==t:
        print(t)


タイトルをなくす場合はtitleの指定を空("")にします。

<pre class="brush:py gutter:true" title="">
k=10

for t in range(2,k+1):
    for i in range(2,t+1):
        if t%i ==0:
            break
    if i==t:
        print(t)
</pre>

k=10

for t in range(2,k+1): 
    for i in range(2,t+1):
        if t%i ==0:
            break
    if i==t:
        print(t)

行番号をなくす場合はgutterをfalseに。

<pre class="brush:py gutter:false" title="">
k=10

for t in range(2,k+1):
    for i in range(2,t+1):
        if t%i ==0:
            break
    if i==t:
        print(t)
</pre>

k=10

for t in range(2,k+1):  
    for i in range(2,t+1):
        if t%i ==0:
            break
    if i==t:
        print(t)

他にもいろいろオプションがあるようですが、とりあえずこんな感じで使って見ます。
参考;
SyntaxHighlighter
http://alexgorbatchev.com/SyntaxHighlighter/
SyntaxHighlighter 対応言語
http://alexgorbatchev.com/SyntaxHighlighter/manual/brushes/
SyntaxHighlighter テーマ
http://alexgorbatchev.com/SyntaxHighlighter/manual/themes/

試行錯誤な日々:Bloggerでsyntax highlightを使う方法
http://asukiaaa.blogspot.jp/2016/12/bloggersyntax-highlight.htm
1研究中:Bloggerでソースコードを貼り付ける(改改)
http://1studying.blogspot.jp/2017/04/blogger_93.html

プログラミング学習:10までの素数を表示させる。(python GCI chapter1)
http://eneprog.blogspot.jp/2018/04/python10gci-chapter1.html
jupyter notebookからコピーしたコード表示例。今回のSyntaxHighlighterとの差の参考に。

2018年4月20日金曜日

プログラミング学習:edx UCバークレー データサイエンス基礎講座の紹介(python)


オンラインプログラミング学習のサイトを探していたところ、下記の記事を見つけました。

無料で「データサイエンス」コースの人気講義をオンラインで提供することをカリフォルニア大学バークレー校が発表 - GIGAZINE
https://gigazine.net/news/20180409-berkeley-data-science-course-free/

オンライン教育プラットフォームedXを通じてカリフォルニア大学バークレー校が「データサイエンス」コースの講義を無料で提供とのことです。

edx UC Berkeley Foundations of Data Science(UCバークレー データサイエンス基礎講座)
ttps://www.edx.org/professional-certificate/berkeleyx-foundations-of-data-science

データサイエンス基礎講座(Foundations of Data Scienc)は下記の3コースが開講されます。
2018年4月3日開講:Computational Thinking with Python(pythonによるプログラミング的思考)
https://www.edx.org/course/foundations-data-science-computational-uc-berkeleyx-data8-1x
2018年5月22日開講:Inferential Thinking by Resampling(リサンプリングによる推論的思考)
https://www.edx.org/course/foundations-data-science-inferential-uc-berkeleyx-data8-2x
2018年6月10日開講:Prediction and Machine Learning(予測と機械学習)
https://www.edx.org/course/foundations-data-science-prediction-uc-berkeleyx-data8-3x

各5-6週間、4-6時間/週のコースとなっていてけっこうボリュームがあります。なお、受講自体は無料ですが、証明書の発行にはUS$99-の費用が必要になります。さっそく、すでに開講しているpythonによるプログラミング的思考を申し込み、受講開始しました。

講義は動画で進んでいきます。第1週は3セクションに分かれていて、各セクションはさらに約5-10分の動画3-6個で構成されています。

講義動画


講義画面


講師が話すのにあわせて右側のスクリプト(英語)も動いていき、どこを話しているのか分かるようになっています。スクリプトの該当箇所をクリックするとその場面に動画の巻き戻しができて便利です。スクリプトのダウンロード、倍速(0.5-2.0倍)再生もできます。スクリプトもあるのでオンライン翻訳なども使えると思います。

動画の下にはLaunch Exampleというボタンがあり、これを押すと、ブラウザでJupyter Notebookが開き、pythonで演習ができるようになっています。googleのサーバー上でjupyter notebookを動かしているらしく、pythonやjupyter notebookをインストールする必要はありません。演習で使うモジュールやデータセットも用意されていて、スムーズに学習できるようになっています。

第1週はイントロダクションとして、データサイエンスの例として、John snowのコレラの要因特定と疫学、若草物語を使った文字データ解析、可視化などの紹介。その後にpythonの基礎的な使い方を学習しながらデータ分析を行っていくという内容です。

ここででてきたのは映画の興行収入トップ200のデータ。講師が「どの映画が一番もうかったのかな~」、「ふーん、じゃ、会社別ではどう?」「興行収入順にグラフ作ってみよう」などといいながらjupyter notebook上でpythonコードを書いていき、pythonの使い方、対話型での解析方法などを自分で手を動かして再現できるようになっています。単なるプログラミング学習ではなく、データ分析の手順や思考方法を身につけるという感じのようです。

コースの途中には何回か小テストがあります。答えを選択し、Submitボタンを押すと答え合わせができます。


これは変数の問題ですが、これはなぜ間違いなのか分からずしばらく悩みました。(分かりますか?)

週の最後には課題があり、jupyter notebook上でpythonのコードを書き、答え合わせもjupyter notebook上で行われます。課題で使われていたのは各国の女子の教育期間の推移データ

pythonやjupyter notebookなどの環境を構築することなく、興味深いデータを使いながらデータサイエンスとpythonを学べるというのがこの講座の特徴であり、楽しく学習できるように工夫されていると思います。英語での授業なので少しハードルが高いのが難点ですが、とりあえず基礎講座の受講を続けてみます。


参考:
edx
https://www.edx.org/
UCバークレー データサイエンス基礎講座
https://www.edx.org/professional-certificate/berkeleyx-foundations-of-data-science
無料で「データサイエンス」コースの人気講義をオンラインで提供することをカリフォルニア大学バークレー校が発表 - GIGAZINE
https://gigazine.net/news/20180409-berkeley-data-science-course-free/

データサイエンス基礎講座ドキュメント
http://data8.org/datascience/tutorial.html#getting-started
第1週課題データ:the average number of years of school attended by all women 25 and older https://docs.google.com/spreadsheets/d/1kmnYQzXLGVF9RbKB3Y-WuUsJFumnE4s2UWdmlskv6r4/pub

AnacondaからPythonをインストール(windows、Jupyter notebook)

http://eneprog.blogspot.com/2018/04/anacondapythonwindowsjupyter-notebook.html
プログラミング学習:東京大学のデータサイエンティスト育成講座(GCI)の演習コンテンツ(無料)
https://eneprog.blogspot.com/2018/04/gci.html

追伸:システム面ではセクションを終えても修了マークが付いたり付かなかったり、課題を出してもprogressに反映されていなかったりします。この辺は改善して欲しいところです。

2018年4月17日火曜日

プログラミング学習:10までの素数を表示させる。(python GCI chapter1)

東大 GCIデータサイエンティスト育成講座演習コンテンツ Chapter 1の課題です。

(1)10までの素数を表示させるプログラムを書いてください。なお、素数とは、1とそれ自身の数以外は約数をもたない正の整数のことをいいます。

k=10

for t in range(2,k+1):    
    for i in range(2,t+1):
        if t%i ==0:
            break

    if i==t:
        print(t)
2
3
5
7

特に工夫も何もなく、2から順に割り算を繰り返し、割り切れたらbreak、そのものの数まで割り切れなかったら素数とみなしています。

ついでに素数判定。
こちらも同様で、2から順に割っていって、割り切れる数があれば素数。そのものの数まで割り切れなかったら素数ではないと表示。
t=211

for i in range(2,t+1):
    if t%i ==0:
        break

if i==t:
    print(str(t)+"は素数")
else:
    print(str(t)+"は素数ではない")
211は素数

(2)上記をさらに一般化して、Nを自然数として、Nまでの素数を表示する関数を書いてください。
def sosu(N):

    for t in range(2,N+1):    
        for i in range(2,t+1):
            if t%i ==0:
                break

        if i==t:
            print(t)
課題1の素数表示をdefで関数化。関数呼び出しは、sosu()のかっこの中に数字を入れる。

sosu(10)
2
3
5
7

参考:
東京大学グローバル消費インテリジェンス寄付講座
http://gci.t.u-tokyo.ac.jp/
東京大学松尾研 GCIデータサイエンティスト育成講演習コンテンツ 公開ページ
http://weblab.t.u-tokyo.ac.jp/gci_contents/
プログラミング学習:東京大学のデータサイエンティスト育成講座(GCI)の演習コンテンツ(無料)
https://eneprog.blogspot.com/2018/04/python10gci-chapter1.html

追伸:bloggerでコードを表示させるのに、どうすればいいかと悩んで、jupyter notebookのhtmlをそのまま貼り付けしましたが、結構面倒です。もっといい方法を探す予定。

2018年4月16日月曜日

プログラミング学習:東京大学のデータサイエンティスト育成講座(GCI)の演習コンテンツ(無料)

プログラミング、データ解析を勉強しようとオンラインコースを探していたところ、下記の記事を見つけました。

新米データサイエンティスト、研修プログラムを考える。
https://qiita.com/s_yaginuma/items/a9c97f62d9bec129c33b

この中で、東大松尾研データサイエンス演習コンテンツがすばらしかったのでご紹介します。

東京大学松尾研 GCIデータサイエンティスト育成講座演習コンテンツ 公開ページ
http://weblab.t.u-tokyo.ac.jp/gci_contents/

これは、東京大学グローバル消費インテリジェンス寄付講座(Chair for Global Consumer Interigence:GCI)のデータ解析パートのコンテンツを無料で公開したものとのこと。GCIでは、2017年度に社会人一般向け Data Science Online Courseを開講していたのですが、残念ながら2018年度は東京大学在学生のみが対象のようです。

GCI;第2期 Data Science Online Course
http://gci.t.u-tokyo.ac.jp/dsonline/
コースの概要
  • 大量のデータを自由自在に解析・分析し、隠れた関係性を発見する。そんなスキルを身につけた「データサイエンティスト」に対する需要は、工学分野だけならず、医療・経済・経営・ライフサイエンスなど非常に多くの分野で高まる一方です。
  • 本コースでは、あらゆる分野で武器になるデータの解析・分析スキルのコアとなる機械学習およびビッグデータを扱う技術、分析結果を効果的に可視化する技術の基盤を網羅的に身につけ、一人前のデータサイエンティストとして活躍する入り口に立つことを目指します。

上記ページにカリキュラムがありますが、Pythonの基礎から始まり、データ加工、可視化、機械学習まで学ぶことができるようになっています。なお、この講座はPythonでの演習になっていて、コンテンツはJupyter notebookの.ipynb形式で公開されています。(Python、Jupyter notebookがインストールされていないとコンテンツを見ることができませんので、ご注意を)

参考:AnacondaからPythonをインストール(windows、Jupyter notebook)
http://eneprog.blogspot.com/2018/04/anacondapythonwindowsjupyter-notebook.html

データサイエンティスト講座 Chapter 1


コンテンツの中身をJupyter notebookで見たところ。とても詳しい解説が記載されており、さらにJupyter notebook上でそのままプログラミングを動かして演習することができます。



Chapter 1では、Pythonの基礎、Jupyter notebookの使い方のほか、ポイントとしてプログラミングのコツ(?)などもあり、とても丁寧な教材となっています。これからPythonをやってみようという人はChapter 1だけでも一通り見ておくとよさそうです。

この講座では各Chapterの最後に課題があります。これから、この課題をやっていってブログで紹介していこうと思います。目指せデータサイエンティスト!


参考:
新米データサイエンティスト、研修プログラムを考える。
https://qiita.com/s_yaginuma/items/a9c97f62d9bec129c33b
東京大学グローバル消費インテリジェンス寄付講座
http://gci.t.u-tokyo.ac.jp/
東京大学松尾研 GCIデータサイエンティスト育成講演習コンテンツ 公開ページ
http://weblab.t.u-tokyo.ac.jp/gci_contents/

AnacondaからPythonをインストール(windows、Jupyter notebook)
http://eneprog.blogspot.com/2018/04/anacondapythonwindowsjupyter-notebook.html

2018年4月11日水曜日

AnacondaからPythonをインストール(windows、Jupyter notebook)

プログラミング学習を始めるにあたり、まずはPythonをインストールします。Pythonのインストール方法はいろいろあるようですが、私はAnacondaを使いました。

Python Japan 環境構築ガイド 〉Windows環境のPython Anaconda
Anaconda はデータサイエンス向けに作成された Pythonパッケージで、科学技術計算などを中心とした数多くのモジュールやツールが独自の形式で同梱されています。

ということで、Anacondaを使うといろんなpythonモジュールや対話型実行ツールのjupyter notebookも一括でインストールされます。

アナコンダのパッケージは下記からダウンロードできます。

https://www.continuum.io/downloads

Python 3.xと2.xがありますが、これからプログラミング学習をするのであれば3.x(2018年4月時点では3.6)でいいみたいです。

あとはダウンロードしたインストーラーを実行するだけ。

オプションはデフォルトのまま(環境変数PATHへの設定はせず、Python 3.6をデフォルトのPythonとして登録)にしました。


インストールが終了するとPython、Jupyter notebookが使えるようになります。

起動は、Windows スタートメニュー > Anaconda > Jupyter Notebook を選択するとコマンドプロンプトが開き、しばらくするとブラウザ上にJupyter Notebookが開きます。

ファイルを新しく作る場合は、右上の「New」から「Python 3」を選択。


Jupyter notebookが開いたら、四角の「セル」の中にコードを入力し、ctl+リターンで実行



最初はやっぱり Hello World!

2018年4月9日月曜日

初めまして

データ解析、プログラミングを勉強中です。自分の備忘録、学習過程の共有としてブログを開設しました。
プログラミング暦約3ヶ月(前の会社で少し使った程度)。ほぼ初心者です。宜しくお願いします。
//SyntaxHighlighter CDNより https://cdnjs.com/libraries/SyntaxHighlighter // 対応言語