SlideShare a Scribd company logo
1 of 26
PYTHON STATS
Yusuke KATO
2016/12/7(WED)
撮影: ジュンク堂池袋本店
Q1. Pythonは人気上
昇中なのか?
陳列面積を数える @有隣堂 ヨドバシAKIBA店
データ分析/機械
学習/AI
19%
java
18%
C/C++/C#
13%
python
13%
PHP
5%
Ruby
3%
Perl
0%
その他
29%
陳列⾯積
データ分析/機械学習/AI java C/C++/C# python PHP Ruby Perl その他
出版数の変化 @Amazon.JP
Python と Ruby のキーワードに関連す
る書籍
(Python/Rubyの各言語が書籍で出ているもののみ)
感じた通り?2016年はたくさんの
Python本が出版されていた!
機械学習 x Python @ジュンク堂池袋本店
2016年 出版数 39冊
内訳
機械学習 x Python : 17冊
データ分析 x Python : 8冊
半数はデータ分析と機械学習関
連でPython本が出版されている
PYPL : PopularitY of Programming
Language 2016
■ PYPL Index
– http://pypl.github.io/PYPL.html
– Google検索でのプログラミング入門に関
する検索数
PYPL 人気の変化
A1. Pythonは人気上昇中!
1. 世界でPythonへの関心が増加
2. →Google検索数の増加
3. →近年のPythonの本の出版数の増加
4. →書店での陳列面積の増加
5. →Pythonの人気上昇を肌で感じる
6. (→Python勉強会に足を運ぶ)
Q2. Pythonはどのように
使われているのか?
パッケージ数の比較
(Module Counts)
■ Module Counts
– http://www.modulecounts.com/
– 各プログラミング言語のパッケージ数の
時系列変化
■ Pythonのパッケージは10万近く
PyPI : the Python Package Index
■ PyPI
– https://pypi.python.org/pypi
– Pythonで利用可能なパッケージを中央管理しているシステム
■ pip
– PyPIに登録されているパッケージをPCにインストールするための
ツール
注) pip以外にも企業が提供している
condaというパッケージ管理ツールもあります
比較と集計方法
■ PyPI(Python)
– BigQueryにあるPyPIのダウンロードログを元に半年分を集計し、分
類
– the-psf:pypi.downloads (BigQuery上の公開テーブル)
– Top 500, 上位70%のみ
■ Gem(Ruby)
– BestGems に載っている通算のダウンロード集計を元に分類
– Top 200, 上位60%のみ
注) 期間が異なります。また厳密な意味でのカテゴリー分類ではありません
開発
17%
インフラ
14%
ライブラリ
10%
JSON関連
10%
ユーティリティ
8%
ライブラリ(ネットワー
ク)
7%
ライブラリ(テキスト)
6%
WEB
4%
ライブラリ(⽇付)
4%
ライブラリ(暗号)
3%
ツール
3%
コマンドラインツール
3%
データ分析
2%
ライブラリ(スレッド)
2%
クラウドサービス
2%
データベース
2%
ライブラリ(Enum)
1%
ライブラリ(画像)
1%
ライブラリ(エクセル関
連)
0%
ライブラリ(型ヒント)
0%
上位70%のカテゴリー分類(Python)
開発 インフラ ライブラリ
JSON関連 ユーティリティ ライブラリ(ネットワーク)
ライブラリ(テキスト) WEB ライブラリ(⽇付)
ライブラリ(暗号) ツール コマンドラインツール
データ分析 ライブラリ(スレッド) クラウドサービス
データベース ライブラリ(Enum) ライブラリ(画像)
ライブラリ(エクセル関連) ライブラリ(型ヒント)
WEB
26%
開発
18%
ライブラリ
10%
ライブラリ(テキスト)
8%
ライブラリ(ネットワー
ク)
8%
データベース
5%
JSON関連
5%
ユーティリティ
5%
コマンドラインツール
4%
クラウドサービス
2%
ツール
2%
ライブラリ(スレッド)
2%
ライブラリ(⽇付)
2%
インフラ
1%
ライブラリ(暗号)
1%
ライブラリ(画像)
0%
上位60%のカテゴリー分類(Ruby)
WEB 開発 ライブラリ
ライブラリ(テキスト) ライブラリ(ネットワーク) データベース
JSON関連 ユーティリティ コマンドラインツール
クラウドサービス ツール ライブラリ(スレッド)
ライブラリ(⽇付) インフラ ライブラリ(暗号)
ライブラリ(画像)
注意点
■ サーバの数の方がPythonのユーザーよりも多いので、Webサービスなどで利用される
パッケージの方がダウンロード数は多くなります
■ パッケージには依存関係があり、有名なツールで利用されるライブラリはダウンロード
数が多くなります
■ Pythonで利用可能なパッケージのすべてがPyPIで配布されている訳ではありません
(例: 商用のツールなど)
開発
17%
インフラ
14%
ライブラリ
10%
JSON関連
10%
ユーティリティ
8%
ライブラリ(ネットワー
ク)
7%
ライブラリ(テキスト)
6%
WEB
4%
ライブラリ(⽇付)
4%
ライブラリ(暗号)
3%
ツール
3%
コマンドラインツール
3%
データ分析
2%
ライブラリ(スレッド)
2%
クラウドサービス
2%
データベース
2%
ライブラリ(Enum)
1%
ライブラリ(画像)
1%
ライブラリ(エクセル関
連)
0%
ライブラリ(型ヒント)
0%
上位70%のカテゴリー分類(Python)
開発 インフラ ライブラリ
WEB
26%
開発
18%
ライブラリ
10%
ライブラリ(テキスト)
8%
ライブラリ(ネットワー
ク)
8%
データベース
5%
JSON関連
5%
ユーティリティ
5%
コマンドラインツール
4%
クラウドサービス
2%
ツール
2%
ライブラリ(スレッド)
2%
ライブラリ(⽇付)
2%
インフラ
1%
ライブラリ(暗号)
1%
ライブラリ(画像)
0%
上位60%のカテゴリー分類(Ruby)
FACT 0: 開発向けパッケージは共に上
位を占める
開発向けパッケージ
■ Python
– setuptools(4), pip(7), docutils(11) などのパッケージを構成するツール
– virtualenv(30), pyflakes(57) などの開発支援ツール
– pytest-runner(33), mock(38), nose(39) などのテストツール
■ プロジェクトとしてパッケージを作る為のツールは利用され、ダウンロー
ド数が多い
※ 括弧内はダウンロード数の順位
開発
17%
インフラ
14%
ライブラリ
10%
JSON関連
10%
ユーティリティ
8%
ライブラリ(ネットワー
ク)
7%
ライブラリ(テキスト)
6%
WEB
4%
ライブラリ(⽇付)
4%
ライブラリ(暗号)
3%
ツール
3%
コマンドラインツール
3%
データ分析
2%
ライブラリ(スレッド)
2%
クラウドサービス
2%
データベース
2%
ライブラリ(Enum)
1%
ライブラリ(画像)
1%
ライブラリ(エクセル関
連)
0%
ライブラリ(型ヒント)
0%
上位70%のカテゴリー分類(Python)
開発 インフラ ライブラリ
WEB
26%
開発
18%
ライブラリ
10%
ライブラリ(テキスト)
8%
ライブラリ(ネットワー
ク)
8%
データベース
5%
JSON関連
5%
ユーティリティ
5%
コマンドラインツール
4%
クラウドサービス
2%
ツール
2%
ライブラリ(スレッド)
2%
ライブラリ(⽇付)
2%
インフラ
1%
ライブラリ(暗号)
1%
ライブラリ(画像)
0%
上位60%のカテゴリー分類(Ruby)
FACT 1: Pythonはインフラ、RubyはWeb
アプリが利用される
Django
(Python)
7.2M
Ruby on
Rails
(Ruby)
13.2M
x 1.83
Webフレームワーク
※ 半年のダウンロード数
クラウドサービスとPython
■ クラウドコンピューティングツールと
して利用されている
– awscli(8) を始めとした、各クラウドコン
ピューティングサービスの管理ツール
としての利用が多い
– Amazon Web Service, Google
Cloud Platform, Azureなど
■ オープンソースのOpenStackは
Pythonで記述されている
インフラ構築とPython
■ サービスを構成するためのツールが豊富
– redis(71), kombu(90), amqp(93) などのキャッシュを構成するツール
– supervisor(84), celery(122), ansible(155) などのサーバ管理ツール
■ Pythonはクラウド上のサーバ構築、管理をするツールとして良く利用さ
れている
※ 括弧内はダウンロード数の順位
開発
17%
インフラ
14%
ライブラリ
10%
JSON関連
10%
ユーティリティ
8%
ライブラリ(ネットワー
ク)
7%
ライブラリ(テキスト)
6%
WEB
4%
ライブラリ(⽇付)
4%
ライブラリ(暗号)
3%
ツール
3%
コマンドラインツール
3%
データ分析
2%
ライブラリ(スレッド)
2%
クラウドサービス
2%
データベース
2%
ライブラリ(Enum)
1%
ライブラリ(画像)
1%
ライブラリ(エクセル関
連)
0%
ライブラリ(型ヒント)
0%
上位70%のカテゴリー分類(Python)
開発 インフラ ライブラリ
WEB
26%
開発
18%
ライブラリ
10%
ライブラリ(テキスト)
8%
ライブラリ(ネットワー
ク)
8%
データベース
5%
JSON関連
5%
ユーティリティ
5%
コマンドラインツール
4%
クラウドサービス
2%
ツール
2%
ライブラリ(スレッド)
2%
ライブラリ(⽇付)
2%
インフラ
1%
ライブラリ(暗号)
1%
ライブラリ(画像)
0%
上位60%のカテゴリー分類(Ruby)
FACT 2: Pythonはデータ分析、Rubyは
言語系ツールが特徴
データ分析、機械学習とPython
■ 科学計算用のパッケージが豊富
– numpy(56), scikit-learn(113), scipy(116), pandas(127), sklearn(198),
matplotlib(212) などの科学計算ツールが豊富で良く利用される
– 歴史的には科学系パッケージや生物系の計算(Bioinfomatics)で発
展し、近年では機械学習(特に深層学習)のツールでデファクトスタ
ンダードとなった
■ 科学系ツールとしての利用
– iPython(現Jupyter)としてノートブック型プログラミングを定着させた
A2. Pythonは色んな場所で活躍してい
ます!
■ 最近ではインフラ系とデータ分析で多く利用されます
が、スクリプト言語として様々なライブラリがあります
のでお宝探しをしてみてください
Awesome Python : https://python.libhunt.com/
メジャー(らしい)ツールの紹介
■ xlrd - http://www.python-excel.org/
– エクセルデータを操作できるライブラリ
■ ReportLab - http://www.reportlab.com/opensource/
– PDFを操作できるライブラリ
■ execnet - http://codespeak.net/execnet/
– 複数のPython環境にタスクを分散するためのツール(テストの分散実行など)
■ CRAWLERA - https://crawlera.com/
– Webクロール時にBanされたときにIPを入れ替えて再送するサービス
– Scrapy - https://scrapy.org/ (クロールツール)のお供に
■ coala - https://coala.io/
– Pythonで実装された汎用スタイルチェッカー
■ Yarg - https://yarg.readthedocs.io/
– PyPIの情報を得るツール
おまけ (パッケージの多様性の例)
■ コマンドラインツールを作るライブラリ
– argparse(35), click(50), docopt(54), pexpect(92), blessings(111), configparser(115),
wcwidth(142), prompt-toolkit(152), positional(165), python-gflags(179), configobj(189),
cmd2(194), configargparse(221), argh(231), python2-pythondialog(275), termcolor(283),
python-augeas(299), parse-type(307), clint(473), args(481)
– 引数操作、ターミナル出力操作など
■ JSONを扱う為のライブラリ
– simplejson(2), jmespath(12), jsonschema(45), ujson(105), anyjson(107), jsonpointer(245),
jsonpatch(246), hjson(336), jsonpath-rw(439), jsonfield(499)
※ 括弧内はダウンロード数の順位 ※ Top 500は月間ダウンロード数 10万回 以上のパッケージ

More Related Content

Viewers also liked

チームで活用するAnaconda入門
チームで活用するAnaconda入門チームで活用するAnaconda入門
チームで活用するAnaconda入門Takeshi Akutsu
 
bottleで始めるWEBアプリの最初の一歩
bottleで始めるWEBアプリの最初の一歩bottleで始めるWEBアプリの最初の一歩
bottleで始めるWEBアプリの最初の一歩Satoshi Yamada
 
Python勉強会in 長野 オープニング
Python勉強会in 長野 オープニングPython勉強会in 長野 オープニング
Python勉強会in 長野 オープニングYuuki Nakajima
 
Chainerで学ぶdeep learning
Chainerで学ぶdeep learningChainerで学ぶdeep learning
Chainerで学ぶdeep learningRetrieva inc.
 
Inside PyCon JP 2016
Inside PyCon JP 2016Inside PyCon JP 2016
Inside PyCon JP 2016koedoyoshida
 
みんなのPython勉強会#21 澪標アナリティクス 井原様
みんなのPython勉強会#21 澪標アナリティクス 井原様みんなのPython勉強会#21 澪標アナリティクス 井原様
みんなのPython勉強会#21 澪標アナリティクス 井原様Takeshi Akutsu
 
Seq2Seqでボットづくり
Seq2SeqでボットづくりSeq2Seqでボットづくり
Seq2SeqでボットづくりMasato Fujitake
 
Python学習奮闘記#07 webapp
Python学習奮闘記#07 webappPython学習奮闘記#07 webapp
Python学習奮闘記#07 webappTakeshi Akutsu
 
WindowsでPython
WindowsでPythonWindowsでPython
WindowsでPythondrillan
 

Viewers also liked (10)

チームで活用するAnaconda入門
チームで活用するAnaconda入門チームで活用するAnaconda入門
チームで活用するAnaconda入門
 
bottleで始めるWEBアプリの最初の一歩
bottleで始めるWEBアプリの最初の一歩bottleで始めるWEBアプリの最初の一歩
bottleで始めるWEBアプリの最初の一歩
 
Python勉強会in 長野 オープニング
Python勉強会in 長野 オープニングPython勉強会in 長野 オープニング
Python勉強会in 長野 オープニング
 
Chainerで学ぶdeep learning
Chainerで学ぶdeep learningChainerで学ぶdeep learning
Chainerで学ぶdeep learning
 
Stapy#22 LT
Stapy#22 LTStapy#22 LT
Stapy#22 LT
 
Inside PyCon JP 2016
Inside PyCon JP 2016Inside PyCon JP 2016
Inside PyCon JP 2016
 
みんなのPython勉強会#21 澪標アナリティクス 井原様
みんなのPython勉強会#21 澪標アナリティクス 井原様みんなのPython勉強会#21 澪標アナリティクス 井原様
みんなのPython勉強会#21 澪標アナリティクス 井原様
 
Seq2Seqでボットづくり
Seq2SeqでボットづくりSeq2Seqでボットづくり
Seq2Seqでボットづくり
 
Python学習奮闘記#07 webapp
Python学習奮闘記#07 webappPython学習奮闘記#07 webapp
Python学習奮闘記#07 webapp
 
WindowsでPython
WindowsでPythonWindowsでPython
WindowsでPython
 

Recently uploaded

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 

Recently uploaded (8)

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 

PYTHON STATS