【2020年版】とりあえず入れておくべきおすすめPythonパッケージ25選【Python】
Pythonはパッケージを使うことで高度なことが手軽に実現できる
Pythonは追加パッケージを導入することよって統計解析から画像処理まで様々なことが出来るようになります。
今回は数多く存在するPythonパッケージの中から、メジャーなものを25個ご紹介したいと思います。
パッケージのインストール・管理にはpipを使う
pipを使うことでPythonパッケージを簡単にインストール・管理することが出来ます。
おすすめPythonパッケージ
便利ツール
pip-review
pip install pip-review
pip-reviewはpipで入れたPythonパッケージを一括アップデートできる便利ツールです。
最強に便利なので是非入れておきましょう。
tqdm
pip install tqdm
tqdmはプロセス実行の進行状況をプログレスバーで可視化してくれるツールです。
基本的にfor文にtqdmを挟むだけで簡単に使えます。
from tqdm import tqdm import time for i in tqdm(range(100)): time.sleep(1)
joblib
pip install joblib
joblibはfor文の並列処理や変数の外部ファイル書き出し/読み込みなどに使えます。
並列処理の使い方はfor文に少し手を加えるだけなので非常に簡単です。
jupyterlab
pip install jupyterlab
jupyterlabはブラウザ上でPythonコードを実行するIDEです。
jupyter notebookの後継IDEであり、同一タブ内で複数のファイルを開いたりできるのでjupyter notebookよりおすすめです。
jupyterlabのエクステンションは現在開発途上の様ですが、Node.jsをインストールして、エクステンションマネジャーを有効にすれば使えるようになります。
JupyterLabのおすすめ拡張機能8選 - Qiita
windows10にNode.jsをインストールする - Qiita
分析系
pandas
pip install pandas
Pythonの表計算と言えばpandasです。
リストをpandasのデータフレームに入れることで、データの可視化やSQL的な処理、集計処理などが簡単に出来ます。
またpandasを使うことでエクセルファイルやCSVファイルを簡単に読み込み/書き出し出来るようになります。
#エクセルファイルの読み込み df = pd.read_excel("sample001.xlsx") #CSVファイルの読み込み df = pd.read_csv("sample001.xlsx") #インデックス列を指定して読み込み df = pd.read_excel("sample001.xlsx", index_col=0) #読み込み時にデータ型を自動認識する df = pd.read_excel("sample001.xlsx", parse_dates=True) #データフレームの作成(シンプル) df = pd.DataFrame(all_list) #データフレームの作成(カラム[列名]、インデックス[行名]あり) df = pd.DataFrame(all_list, columns=["aaa","bbb","ccc"], index=["N001","N002","N003","N004","N005"]) #データフレームの縦横を入れ替える df = df.T #エクセルファイルに書き出し df.to_excel('sample002.xlsx') #CSVに書き出し df.to_csv('sample002.xlsx') #データフレーム全体ををリスト化 df_list = df.values.tolist() #特定列をリスト化 job_list=df["job"].values.tolist() #文字型の時刻列を列ごとdatetime型に変換 df['tw_date_jp'] = pd.to_datetime(df['tw_date_jp']) #データフレームに列を挿入する df2['number'] = ['one', 'one', 'two', 'three', 'four', 'three'] #データフレームから一部を条件抽出(数値比較) df2 = df[ df['age'] < 25 ] #データフレームから一部を条件抽出(特定文字を含むもの) df2 = df[df['本文テキスト'].str.contains('最強') #欠損値を埋める df2 = df2.replace(np.nan,' ', regex=True) #インデックスを振り直す df3 = df3.reset_index(drop=True)
karupoimou.hatenablog.com
karupoimou.hatenablog.com
karupoimou.hatenablog.com
karupoimou.hatenablog.com
karupoimou.hatenablog.com
karupoimou.hatenablog.com
xlrd
pip install xlrd
エクセルファイルの読み込み/書き出しに使われるパッケージです。
XlsxWriter
pip install XlsxWriter
同じくエクセルファイルの読み込み/書き出しに使われるパッケージです。
pandasでデータフレームをエクセル出力する場合、XlsxWriterを通すことで複数シートや文字エンコーディングのエラーを修正したりすることができます。
import pandas as pd filename="test.xlsx" #ファイル名 exportlist=[1,1,2,3,1,4,5] #リスト df = pd.DataFrame(exportlist) #データフレームの作成 writer = pd.ExcelWriter(filename,options={'strings_to_urls': False}, engine='xlsxwriter') df.to_excel(writer, sheet_name="Sheet1")#Writerを通して書き込み writer.close()
画像系
matplotlib
pip install matplotlib
グラフを描いたりするために最もよく使われるパッケージです。
スタイルも豊富なので簡単にそれらしいグラフが作れます。
japanize-matplotlib
pip install japanize-matplotlib
デフォルトでは日本語フォントに対応していないmatplotlibを簡単に日本語フォント対応してくれるパッケージです。
matplotlib日本語化にはいくつか方法がありますが、その中でもこれが最も簡単な方法と言えるでしょう。
folium
pip install folium
地理情報を可視化するライブラリです。
マーカーの設置やヒートマップなどが簡単に出来ます。
出力結果をhtmlとして書き出すことも可能です。
スクレイピング系
requests
pip install requests
HTTP 通信ライブラリです。webサイトやweb APIから何かデータを取りたい時に使います。
書き方も簡単。
たまに発生するエラーはtry節を使った例外処理を設定することで簡単に回避可能です。
beautifulsoup4
pip install beautifulsoup4
pythonスクレイピングと言えばこれです。圧倒的にシンプル。
karupoimou.hatenablog.com
karupoimou.hatenablog.com
http://python.zombie-hunting-club.com/entry/2017/11/08/192731python.zombie-hunting-club.com
lxml
pip install lxml
beautifulsoupのパーサーとして使うことが多いです。
lxmlはC言語で書かれているのでデフォルトの「html.parser」より高速(?)らしいです。
# lxmlを使う場合 soup = BeautifulSoup(html, "lxml") # html.parserを使う場合 soup = BeautifulSoup(html, "html.parser")
web系
Flask
pip install Flask
シンプルなwebフレームワークです。
これを使うことで簡単にwebサイトを作ることが出来ます。
Flask自体の機能はかなりシンプルなので、こだわらなければ1つの.pyファイルで1つのサイトの機能を丸ごと記述できます。もちろんこだわれば大体の機能を後付出来ます。
同じく有名なpython webフレームワークである「Django」との違いについては
海賊はFlaskを使い、海軍はDjangoを使う
という説明が有名らしいです。
karupoimou.hatenablog.com
flask-bootstrap4
pip install Flask-Bootstrap4
pipだけでインストール出来るbootstrap4。
こんなに簡単に導入できるものなのかと言うほど簡単です。
Django
pip install Django
高機能なwebフレームワークです。
webサイトに必要な大体の機能が最初から入っています。
Flaskと比べて設定項目も多いため、導入にはやたらと時間が掛かりますがチュートリアルは豊富です。
PyMySQL
pip install PyMySQL
pythonでMySQLを扱うパッケージの一つです。
MySQLを扱うパッケージは他にもいくつも存在しますが、機能的にどれも似たり寄ったりなのではないかと思います。
karupoimou.hatenablog.com
tweepy
pip install tweepy
ツイッターAPIを扱うパッケージです。
ツイートbotの作成からツイートデータ収集まで様々な用途に使えます。
karupoimou.hatenablog.com
karupoimou.hatenablog.com
karupoimou.hatenablog.com
karupoimou.hatenablog.com
とりあえず全部入れる場合
pip-review tqdm joblib jupyterlab pandas numpy scipy xlrd XlsxWriter matplotlib japanize-matplotlib Pillow opencv-python folium plotly wordcloud requests beautifulsoup4 lxml selenium Flask Flask-Bootstrap4 Django PyMySQL tweepy PyInstaller
その他 便利コマンドなど
音で処理完了を通知する
windowsの場合、最初から入っているwinsoundを使うと簡単です。
import winsound winsound.Beep(500, 500)
# winsound.Beep(音程, 鳴らすミリ秒)
その他の通知方法に関するページ
quzee.hatenablog.com
例外処理
try: 処理文 except: 処理文
まず最初にtryに書いてある内容が実行され、エラーが出る場合はexceptの処理文が実行されます。
例外処理を書いておくことでエラー落ちを防ぐことができます。
バッチファイル化
パスを通していなくても、batファイル化することで.pyファイルを実行できます。
(パスを通していればダブルクリックで実行可能です)