【アイデミー学習記】 データクレンジング (1) lambda式

NO IMAGE

辞書型オブジェクトを学ぶ

とりぞー
とりぞー

個人的には辞書型オブジェクトは少し苦手なんですよね…

なので、今回もやはりチュータさんに聞きまくりながら理解を進めました(笑)

defaultdictクラスによる初期化

pythonにおいて、辞書型オブジェクトに新たな要素を追加する際には、都度初期化というのが必要。

以下のように通常関数を用いた場合、if~else文で記載しなければならず、手間がかかる。

一方で、collections モジュールの defaultdictクラスを利用することで初期化の手間が少々省けます。


d = defaultdict(valueの型)

valueの型は、整数であればint、list型であればlistが入ります。

とりぞー
とりぞー

elseの部分が不要になります。

ということで、違いを少し見ていきましょう。

辞書型オブジェクトをソート

さらに、sorted()を利用することもでき、昇順・降順に並び替えることが出来ます。構造は以下。

sorted(辞書名.items(), key = lambda式で配列を指定, reverse = True(降順の場合))

以下のような形で運用可能です。

list型辞書の作成と要素追加

これまでは(key, value)の辞書オブジェクトを取り扱ってきたが、list型の辞書作成や要素追加が可能です。

defaultdict(list)

list型だと要素追加が楽勝で、辞書名[key].append(追加したい要素)でvalueに追加可能。

今回も、通常関数を使う場合とdefaultdictを使う場合の2パターンでプログラミングコードを書いてみる。

counterクラスで同じものを数え上げる

他にもcollections モジュールで使えるものが有り、counter()はリスト内の同じ要素を数え上げることが出来ます。

d = counter (数え上げたいデータ)

また出現頻度が高い文字や表記を抽出する機能として、most_common()関数などもあります。

辞書名.most_common(取得する要素数)

ということで、コードの例をいかに記載します。