▶ データ分析を基本から学びたい場合は、まず以下の記事から目を通すようにしてください。
▶ 辞書型の前にリストを学ぶなら以下の記事をどうぞ。
はじめに
今回は、Pythonでデータ分析をするうえで基本となる、辞書型について解説をしていきます。まずリストを学びました。これはデータを順番に並べて管理するものでした。これに対しては辞書型は、データをkeyで管理します。各データ(value)にラベル(key)をつけて管理します。
データをkeyとvalueという対応で管理するため、要素毎に情報の性質や種類が異なっている場合は辞書型が便利です。辞書型についても、はじめは基本的なところをおさえるにとどめて、どんどん次の学習項目に進んでしまいましょう。早く基本部分を終えて、全体を俯瞰できる状態にして、実践で学びを深めていきましょう。
辞書型
辞書型の作り方
辞書型は{ } (中括弧)を使って定義します。中括弧の中に、keyとvalueのペアを:(コロン)で区切ってペアにします。このkeyとvalueのペアを,(コロン)でつなぐことで辞書を定義できます。
{'key1':'value1, 'key2':'value2',....}
辞書を定義して変数に代入するには、次のようにします。
test_dict= {'key1':'value1, 'key2':'value2',....}
実際に作ってみましょう。テスト結果を管理するとして、教科名をkeyとしてその教科の点数をvalueとすることにしましょう。
test_results={'英語':88,'数学':98,'国語':85,'理科':100,'社会':92}
test_results
{'英語': 88, '数学': 98, '国語': 85, '理科': 100, '社会': 92}
辞書から要素を取り出す
辞書型から要素を取り出すには、辞書型の変数に[ ](角括弧)を添え、角括弧の中に取り出したい要素のkeyを指定します。
先ほど作成した、test_resultsという変数で試してみましょう。ここから数学の点数を取り出すには次のようにします。
test_results['数学']
98
ちゃんと数学の点数が取り出すことができましたね。
要素の追加
次に要素の追加をします。存在しないkeyを指定して、値を代入することで要素の追加ができます。test_resultsには、「ドイツ語」というkeyがありません。ドイツ語の点数が68点だったとして、これをtest_resultsに追加してみましょう。
test_results['ドイツ語']=68
test_results
{'英語': 88, '数学': 98, '国語': 85, '理科': 100, '社会': 92, 'ドイツ語': 68}
このように「’ドイツ語’:68」を追加することができました。
keyとvalueと確認
辞書型の変数から、そこに登録されているkeyやvalueを確認したり、取り出したいときがあります。keyを取り出すときには、「辞書型が格納されている変数.keys()」でkeyの一覧を取り出すことができます。valueを取り出すときには、「辞書型が格納されている変数.values()」とします。
keyとvalueのセットを取り出すときには「辞書型が格納されている変数.items()」とします。これらも実際に試しておきましょう。
test_results.keys()
dict_keys(['英語', '数学', '国語', '理科', '社会', 'ドイツ語'])
keyを取り出したときには、dict_keysと表示され、()の中にkeyのリストが返ってきます。次にvalueの取り出しを見てみましょう。
test_results.values()
dict_values([88, 98, 85, 100, 92, 68])
valueの取り出しの時には、先頭にdict_valuesと表示される()の中に値のリストが返ってきます。最後にkeyとvalueの両方を取り出してみましょう。
test_results.items()
dict_items([('英語', 88), ('数学', 98), ('国語', 85), ('理科', 100), ('社会', 92), ('ドイツ語', 68)])
keyとvalueの両方をとりあ出したときには、先頭にdict_itemsと表示され、()の中でkeyとvalueの対がリストで返ってきます。
まとめ
いかがでしたか?keyに対応する値を書き換えるときにはどうするのか?辞書から要素を削除する場合はどうするのか?まだまだ辞書について学ぶことはあるのですが、必要に迫られたと気に確認するようにしましょう。ひとまず、以下をおさえておけばよいですう。
▶ 辞書型に関する演習問題を解いてみたい方は以下をどうぞ。
▶ データ分析を基本から学びたい場合は、以下の記事をご覧ください。
コメント