これは
初老丸アドベントカレンダー 11 日目の記事です。
qiita.com
ということで、小ネタ大ネタを交えて 12/25 まで張り切っていきましょう。
初老と Python(2)
福岡市の人口
上司:あー、この list の中に入っている dict 型のデータから各キー毎の数値を集計してくさ
初老:承知仕り、要は福岡市の男性と女性の人数を算出しろってことですな
渡された、dict 型データは以下のようなデータ。
_dict = [ {'東区': {'男':151463, '女': 159614}}, {'博多区': {'男': 111692, '女': 122038}}, {'中央区': {'男': 86813, '女': 108072}}, {'南区': {'男': 120229, '女': 137904}}, {'城南区': {'男': 61674, '女': 69562}}, {'早良区': {'男': 102788, '女': 115247}}, {'西区': {'男': 100422, '女': 108619}} ]
2016 年 12 月現在の福岡市の区別の人口。(※こちらより引用させて頂きました。)
collections モジュール
dict 型を集計する場合、collections を使えば超簡単に集計することが出来るったい。(データ構造にも寄ると思う。複雑な dict だとそれなりに辛いと思う)
# -*- coding: utf-8 -*- import collections _dict = [ {'東区': {'男':151463, '女': 159614}}, {'博多区': {'男': 111692, '女': 122038}}, {'中央区': {'男': 86813, '女': 108072}}, {'南区': {'男': 120229, '女': 137904}}, {'城南区': {'男': 61674, '女': 69562}}, {'早良区': {'男': 102788, '女': 115247}}, {'西区': {'男': 100422, '女': 108619}} ] counter = collections.Counter() for data in _dict: for k, v in data.iteritems(): counter.update(v) # print '男: ' + str(counter.get('男')) print '女: ' + str(counter.get('女'))
男女の人口を報告
初老:上司さん、以下のような感じでいいすかねー。
$ python test.py 男: 735081 女: 821056
初老:女子率高いですねー
上司:うむ、さすが福岡ったい
以上
メモでした。
元記事はこちら
「ショロカレ 11 日目 | 初老と Python(2)〜 dict 型のデータを colletions モジュールで集計する 〜」