初心者のためのpython入門

自分がつまづいたところやつまづきやすいところを中心に書いていきます。また、役に立つライブラリの紹介などをしていきます。

ライブラリ紹介[7/100]: Hydra

前書き 今回は、Hydraを紹介します。 Hydra githubの説明に"A framework for elegantly configuring complex applications."とあるように複雑なアプリケーションの設定を管理するためのフレームワークです。 前回紹介したOmegaConfを内部 で使用しています。…

ライブラリ紹介[6/100]: OmegaConf

前書き 今回は、OmegaConfを紹介します。 OmegaConf pythonのConfigrationフレームワークのひとつです。設定ファイルの管理のために使用します。 標準ライブラリに含まれるconfigparserもConfigurationに使用されるモジュールの1つです。 フレームワークとラ…

ライブラリ紹介[5/100] simplejson

前書き 今回は、simplejsonを紹介します。 simplejson pythonでjsonを扱うためのライブラリです。 pythonにはjsonという標準ライブラリもあります。 jsonとsimplejsonは同じものですが、simplejson の方が更新頻度が高いです。 stackoverflow.com jsonとは y…

ライブラリ紹介[4/100]: toml

前書き 今回は、tomlを紹介します。 toml pythonでtomlを扱うためのライブラリです。 tomlとは yamlと同じように、構造化データを表現するためのフォーマットです。 Tom's Obvious, Minimal Languageの略です。 en.wikipedia.org インストール pip install t…

ライブラリ紹介[3/100]: pyyaml

前書き 今回は、pyyamlを紹介します。 pyyaml 名前の通りpythonでyamlを扱うためのライブラリです。 yamlとは 構造化データを表現するためのフォーマットです。 YAML Ain't Markup Languageの略です。 ja.wikipedia.org インストール pip install pyyaml 使…

ライブラリ紹介[2/100]: easydict

前書き 今回は、easydictを紹介します。 easydict 辞書オブジェクトの値に属性としてアクセスすることが可能になります。 インストール pip install easydict 使い方 辞書オブジェクトをEasyDictでラップします。 >>> numbers = {"one": 1, "two": 2, "three…

ライブラリ紹介[1/100]: tqdm

前書き 今回から便利なライブラリとその使い方を100個紹介していきます。 記念すべき最初のライブラリはtqdmです。 公式のREADMEにインストールの仕方や使い方が詳しく書かれていますが...日本語での紹介として載せておきます! tqdm forループなど反復処理の…

numpy.nanをcheck!

前書き 久しぶりの更新になりました。 今回は、変数の値がnumpy.nanか判定する方法を紹介していきます。 方法はいくつかありますが、その中でもわかりやすいものを2つ紹介します。 math.isnan intやfloatを扱うことができますが、listやnumpy.array、tupleな…

Coding Errorをcheck!

前書き 前回は、Coding Styleを紹介しました。 今回は、Coding Errorをチェックするライブラリを紹介します。 Pylint コーディングエラーのチェックには、pylintを使用します。インストールは、pipを使います。 pip install pylint 実際に使っていきましょう…

Coding Styleを自動でチェック!

前書き お久しぶりです。今回は、コーディングスタイルの自動チェックについて紹介したいと思います。 コーディングスタイルとは コーディングスタイルとは、その名の通りコードを書く時のスタイルです。コードを書く時に一行に何文字書くべきなのかと迷った…

Annotationの利用

前書き 前回(大分前...)、アノテーションの記法について紹介しました。しかし、アノテーションは書いても自動でチェックされることはありません。そこでチェック方法を紹介します。 ライブラリのインストール Pythonの標準ライブラリには、型アノテーション…

typing: 型のヒント

前書き 今回は、typingモジュールについて紹介します。 これを利用することにより、型に関するアノテーション(注釈)をつけることができます。 使用例 まずは、基本的なアノテーションを見てみましょう。 def is_even_number(num: int) -> bool: # 偶数か判定…

APIキーなどの環境変数を管理

前書き 前回少し触れた、.envファイルから環境変数を読み込む方法について紹介します。 準備 今回は、dotenvというライブラリを使用します。 インストール方法は、いつも通りです。 pip install python-dotenv 実践 まずは、APIキーなどを.envファイルに定義…

Twitter API ~実践編~

前書き 時間が空きましたが、実践編を書いていきます。 OAuth認証 まずは、前回取得したアクセス情報を元にOAuth認証をしましょう。OAuthは、オーオースと読みます。 from requests_oauthlib import OAuth1Session CONSUMER_KEY = "取得したキー" ACCESS_TOK…

Twitter API ~ 準備編 ~

前書き 今回は、Twitter APIについて紹介します。 理由としては、APIについての説明と身近なアプリケーションをプログラムから操作する面白さを感じてもらいたいということです。 APIとは APIとは、Application Programming Interfaceの頭文字です。 APIは、…

collections[2]

前書き 前回に続き、collectionsライブラリについて紹介します。 Counter Counterは、リストやタプルなどのハッシュ可能なオブジェクトから値の出現回数を数え上げることができる辞書のサブクラスです。 from collections import Counter l = [1 if i % 2 el…

collections[1]

前書き 今回は、colllectionsライブラリを紹介します。collectionsライブラリには、以下の便利なデータ構造が用意されています。 namedtuple deque ChainMap Counter OrderDict defaultdict 今回は、namedtuple・deque・ChainMapの3つについて紹介します。 n…

printのtips

前書き sklearnについて書こうと思いながら、だいぶ日が経ってしまいました...。いつか必ず書きます...が、今回は、print関数のtipsを紹介します。 print関数 print関数は、以下のように文字列を出力するための関数です。 print("Hello world!") Hello world…

seaborn

前書き 今回は、可視化用のライブラリであるseabornについて説明していきます。 seabornは、pandasのデータ構造(Series型、DataFrame型)と密接に統合されています。 インストール seabornのインストールは、pipコマンドを用いて行うことができます。 以下の…

セット内包表記・辞書内包表記

前書き 最近は、インターンなどで忙しく、更新をサボっていました...。また、書いていこう思います。 今回は、セット内包表記と辞書内包表記です。今回の内容は、前回のものと本質的にはあまり変わりません。 辞書内包表記 辞書内包表記は、次のようなになり…

リスト内包表記

前書き 今回は、リスト内包表記について説明します。リスト内包表記をマスターすれば、コードがスッキリします。 内包表記の説明と種類 内包表記はあるイテラブルオブジェクトを利用して、別のイテラブルオブジェクトを作成するための記法のことです。内包表…

pandas~ファイル編~

前書き 久しぶりの更新となりました。今回は、ファイル操作について説明します。 csvファイルで保存 pandasは、to_csv()を使うことにより、DataFrame型やSeries型をcsvファイルとして保存できます。 pd.to_csv(file): file引数には、保存したい場所へのパス…

pandas~欠損値編~

まえがき 今回は、欠損値の処理について説明します。欠損値の処理は、最近流行りの機械学習においても非常に重要です。 pandasにおける欠損値 pandasにおける欠損値は型に依らず全てNaN(Not a Number)で表現されます。 また、Pythonの組み込み値であるNoneも…

pandas~要素編~

前書き 今回は、要素の一意性や頻度、存在の確認方法について説明します。 一意な要素 一意な要素を求めるメソッドは、以下のものです。 Series.unique() : Series中の一意な要素を求める。返り値は、list。 DataFrame.nunique() : DataFrameの中の一意な要…

pandas~要約統計量編~

前書き 前回に引き続き、今回もpandasの説明をします。今回は、欠損値と要約統計量を求めるメソッドについて説明(紹介)します。 欠損値 まずは、サンプルをみましょう。 # sample.py import pandas as pd import numpy as np sdata = {'A': 80, 'B': 70, 'C'…

pandas~DataFrame~編

前書き 前回は、pandasライブラリのSeriesについて説明しました。今回は、DataFrameについて説明します。 データフレーム(DataFrame) データフレームは、テーブル形式のデータ構造となります。イメージとしては、エクセルのように行と列の両方にインデックス…

pandas~Series~編

前書き 今回から、データ分析でよく用いられるpandasライブラリを紹介していきます。 インストール まずは、pip install pandasでライブラリをインストールしましょう。 すでにインストールされている方は必要ありません。 pandasとは pandasとは、行と列の形…

ファイルの操作[2]

前書き 今回は、テキストファイルから文字列の読み込みの説明をします。 read()によるテキストファイルの読み出し read()は1度にファイルの全体を読み出すことができます。サンプルを見ましょう。 # read.py f = open('theZenOfPython', 'rt') # 前回作成し…

ファイルの操作[1]

前書き 今回からファイルの操作について説明します。 ファイルを開く ファイルを開くにはopen関数を仕様します。サンプルを見ましょう。open()の使い方は以下のようになります。 fileobj = open(filename, mode) fileobj : open()が返すファイルオブジェクト…

書籍の紹介

前書き 今回は、Pythonの入門書を紹介したいと思います。 入門Python3 言わずと知れたO'REILLY出版の本です。基本的なpythonの文法の他に、ウェブ、並行処理、ネットワークの簡単な導入方法が書いてあります。pythonで何かしたいけど何ができるかわからない…