From 76a022712085bc3e8a13b4e1dd11bf6e75b3c75b Mon Sep 17 00:00:00 2001 From: Tetsu Haruyama Date: Fri, 14 Jun 2024 19:57:41 +0900 Subject: [PATCH] explanation on terminologies --- 1_Basics_II.ipynb | 1148 ++++++++------------------------------------- 3_Pandas.ipynb | 75 ++- 2 files changed, 227 insertions(+), 996 deletions(-) diff --git a/1_Basics_II.ipynb b/1_Basics_II.ipynb index c97a45c7..9a0308d8 100644 --- a/1_Basics_II.ipynb +++ b/1_Basics_II.ipynb @@ -18,7 +18,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -29,7 +29,9 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, "source": [ "## 基本データ型の変換" ] @@ -59,7 +61,8 @@ { "cell_type": "markdown", "metadata": { - "heading_collapsed": true + "heading_collapsed": true, + "jp-MarkdownHeadingCollapsed": true }, "source": [ "### 整数型・浮動小数点型 → 浮動小数点型・整数型" @@ -67,7 +70,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "metadata": { "hidden": true }, @@ -88,44 +91,22 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "(10, int)" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "int(f0), type( int(f0) )" ] }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "(10.0, float)" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "float(i0), type( float(i0) )" ] @@ -133,7 +114,8 @@ { "cell_type": "markdown", "metadata": { - "heading_collapsed": true + "heading_collapsed": true, + "jp-MarkdownHeadingCollapsed": true }, "source": [ "### 文字列型 → 整数型・浮動小数点型" @@ -150,7 +132,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "metadata": { "hidden": true }, @@ -170,44 +152,22 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "(10, int)" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "int(s0), type( int(s0) )" ] }, { "cell_type": "code", - "execution_count": 35, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "(10.0, type)" - ] - }, - "execution_count": 35, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "float(s0), type( type(s0) )" ] @@ -223,22 +183,11 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "(12, 12.0)" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "2 + int(s0), 2 + float(s0)" ] @@ -254,7 +203,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": null, "metadata": { "hidden": true }, @@ -274,22 +223,11 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "(10.0, float)" - ] - }, - "execution_count": 40, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "float(s1), type( float(s1) )" ] @@ -305,22 +243,11 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "3.0" - ] - }, - "execution_count": 44, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "float(s1) // 3" ] @@ -336,26 +263,14 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": null, "metadata": { "hidden": true, "tags": [ "raises-exception" ] }, - "outputs": [ - { - "ename": "ValueError", - "evalue": "invalid literal for int() with base 10: '10.0'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m/var/folders/40/v0v2h0rj7p75rngjf0bh9r040000gn/T/ipykernel_58514/1538595944.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;31mValueError\u001b[0m: invalid literal for int() with base 10: '10.0'" - ] - } - ], + "outputs": [], "source": [ "int(s1)" ] @@ -374,44 +289,22 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "10" - ] - }, - "execution_count": 43, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "int( float(s1) )" ] }, { "cell_type": "code", - "execution_count": 47, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "100000" - ] - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "int( float(s1) ) ** 5" ] @@ -419,7 +312,8 @@ { "cell_type": "markdown", "metadata": { - "heading_collapsed": true + "heading_collapsed": true, + "jp-MarkdownHeadingCollapsed": true }, "source": [ "### 整数型・浮動小数点型 → 文字列型" @@ -436,22 +330,11 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "('10.0', '10')" - ] - }, - "execution_count": 49, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "str(f0), str(i0)" ] @@ -459,7 +342,8 @@ { "cell_type": "markdown", "metadata": { - "heading_collapsed": true + "heading_collapsed": true, + "jp-MarkdownHeadingCollapsed": true }, "source": [ "### 整数型・浮動小数点型・文字列型 → ブール型" @@ -476,73 +360,42 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 50, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "bool(100)" ] }, { "cell_type": "code", - "execution_count": 51, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "False" - ] - }, - "execution_count": 51, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "bool(0)" ] }, { "cell_type": "code", - "execution_count": 52, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "(True, False)" - ] - }, - "execution_count": 52, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "bool('神戸大学'), bool('')" ] }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, "source": [ "## コンテナデータ型の操作" ] @@ -561,7 +414,9 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, "source": [ "### リスト" ] @@ -569,7 +424,8 @@ { "cell_type": "markdown", "metadata": { - "heading_collapsed": true + "heading_collapsed": true, + "jp-MarkdownHeadingCollapsed": true }, "source": [ "#### 1つの要素の抽出" @@ -581,20 +437,22 @@ "hidden": true }, "source": [ - "要素のインデックス(位置)を考える場合,次の図のように左から`0`,`1`,`2`...,右からは`-1`,`-2`,`-3`と数える。\n", + "インデックスとは、リスト、タプル及び文字列における要素の位置を示す番号を意味し、`0`から始まる。\n", + "次の図は、リストの要素`A`,`B`,`C`...`F`を並べ、各要素に対応するインデックを示している。\n", + "左から数えると`0`,`1`,`2`...となり,右からは`-1`,`-2`,`-3`と数える。\n", "```\n", " 0 1 2 3 4 5 (左から数える) \n", " +---+---+---+---+---+---+\n", - " | P | y | t | h | o | n |\n", + " | A | B | C | D | E | F |\n", " +---+---+---+---+---+---+\n", " -6 -5 -4 -3 -2 -1 (右から数える)\n", "```\n", - "例えば,次のリストを考えよう。" + "上の図にあるリストを考えよう。" ] }, { "cell_type": "code", - "execution_count": 53, + "execution_count": null, "metadata": { "hidden": true }, @@ -609,27 +467,16 @@ "hidden": true }, "source": [ - "`'A'`は0番目,`'B'`1番目,`'C'`は2番目と数える。`A`を抽出したい場合は`[]`を使い`A`のインデックス番号`0`を指定する。" + "`'A'`は`0`番目,`'B'`は`1`番目,`'C'`は`2`番目と数える。`A`を抽出したい場合は`[]`を使い`A`のインデックス`0`を指定する。" ] }, { "cell_type": "code", - "execution_count": 60, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "'A'" - ] - }, - "execution_count": 60, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "my_list[0]" ] @@ -645,22 +492,11 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "'E'" - ] - }, - "execution_count": 55, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "my_list[4]" ] @@ -676,22 +512,11 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "'E'" - ] - }, - "execution_count": 57, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "my_list[-2]" ] @@ -699,7 +524,8 @@ { "cell_type": "markdown", "metadata": { - "heading_collapsed": true + "heading_collapsed": true, + "jp-MarkdownHeadingCollapsed": true }, "source": [ "#### 複数要素の抽出(その1)" @@ -711,7 +537,7 @@ "hidden": true }, "source": [ - "次に複数の連続する要素を抽出したいとしよう。この場合はスライシングと呼ばれ,`:`(コロン)を使う。`:`の左右にインデックス番号を置き要素を選択するが,次のルールに従う。\n", + "次に複数の連続する要素を抽出したいとしよう。この場合は**スライシング**(slicing)と呼ばれ,`:`(コロン)を使う。`:`の左右にインデックス番号を置き要素を選択するが,次のルールに従う。\n", "```\n", "[<start>:<end>]\n", "```\n", @@ -723,22 +549,11 @@ }, { "cell_type": "code", - "execution_count": 131, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "['B', 'C', 'D']" - ] - }, - "execution_count": 131, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "my_list[1:4]" ] @@ -754,22 +569,11 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "['B', 'C', 'D']" - ] - }, - "execution_count": 63, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "my_list[1:3+1]" ] @@ -789,22 +593,11 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "['A', 'B', 'C', 'D']" - ] - }, - "execution_count": 64, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "my_list[:3+1]" ] @@ -820,22 +613,11 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "['D', 'E', 'F']" - ] - }, - "execution_count": 67, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "my_list[3:]" ] @@ -851,22 +633,11 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "['A', 'B', 'C', 'D', 'E', 'F']" - ] - }, - "execution_count": 69, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "your_list = my_list[:]\n", "your_list" @@ -916,7 +687,7 @@ }, { "cell_type": "code", - "execution_count": 140, + "execution_count": null, "metadata": { "hidden": true }, @@ -936,22 +707,11 @@ }, { "cell_type": "code", - "execution_count": 142, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "[0, 2, 4, 6, 8]" - ] - }, - "execution_count": 142, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "lst[::2]" ] @@ -967,22 +727,11 @@ }, { "cell_type": "code", - "execution_count": 146, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "[0, 3, 6, 9]" - ] - }, - "execution_count": 146, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "lst[::3]" ] @@ -998,22 +747,11 @@ }, { "cell_type": "code", - "execution_count": 147, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]" - ] - }, - "execution_count": 147, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "lst[::-1]" ] @@ -1029,22 +767,11 @@ }, { "cell_type": "code", - "execution_count": 148, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "[9, 7, 5, 3, 1]" - ] - }, - "execution_count": 148, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "lst[::-2]" ] @@ -1069,7 +796,7 @@ }, { "cell_type": "code", - "execution_count": 82, + "execution_count": null, "metadata": { "hidden": true }, @@ -1089,22 +816,11 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "['B', 'C']" - ] - }, - "execution_count": 78, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "element1 = my_list2[1]\n", "element1" @@ -1121,22 +837,11 @@ }, { "cell_type": "code", - "execution_count": 79, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "'B'" - ] - }, - "execution_count": 79, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "element1[0]" ] @@ -1152,22 +857,11 @@ }, { "cell_type": "code", - "execution_count": 81, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "'B'" - ] - }, - "execution_count": 81, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "my_list[1][0]" ] @@ -1183,22 +877,11 @@ }, { "cell_type": "code", - "execution_count": 88, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "['D', 'E', 'F']" - ] - }, - "execution_count": 88, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "my_list2[-1][:2+1]" ] @@ -1223,22 +906,11 @@ }, { "cell_type": "code", - "execution_count": 113, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "[0, 1, 2, 3, 4, 5]" - ] - }, - "execution_count": 113, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "lst0 = [0, 1, 2 ,3, 4, 5]\n", "lst0" @@ -1255,22 +927,11 @@ }, { "cell_type": "code", - "execution_count": 114, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "['Kobe', 1, 2, 3, 4, 5]" - ] - }, - "execution_count": 114, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "lst0[0] = 'Kobe'\n", "lst0" @@ -1287,22 +948,11 @@ }, { "cell_type": "code", - "execution_count": 115, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "['Kobe', {'a': 100}, 2, 3, 4, 5]" - ] - }, - "execution_count": 115, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "lst0[1] = {'a':100}\n", "lst0" @@ -1319,22 +969,11 @@ }, { "cell_type": "code", - "execution_count": 116, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "['Kobe', {'a': 100}, 2, 3, 40, 60]" - ] - }, - "execution_count": 116, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "lst0[-2:] = (40, 60)\n", "lst0" @@ -1351,22 +990,11 @@ }, { "cell_type": "code", - "execution_count": 117, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "['Kobe', {'a': 100}, 2, 3, 'A', 'B']" - ] - }, - "execution_count": 117, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "lst0[-2:] = {'A':40, 'B':60}\n", "lst0" @@ -1392,22 +1020,11 @@ }, { "cell_type": "code", - "execution_count": 118, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "[{'a': 100}, 2, 3, 'A', 'B']" - ] - }, - "execution_count": 118, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "del lst0[0]\n", "lst0" @@ -1424,22 +1041,11 @@ }, { "cell_type": "code", - "execution_count": 119, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "[{'a': 100}, 2, 3]" - ] - }, - "execution_count": 119, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "del lst0[-2:]\n", "lst0" @@ -1463,20 +1069,9 @@ }, { "cell_type": "code", - "execution_count": 122, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(1, 3.14, 'A')" - ] - }, - "execution_count": 122, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "tpl = (1, 3.14, 'A')\n", "tpl" @@ -1491,20 +1086,9 @@ }, { "cell_type": "code", - "execution_count": 123, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[1, 3.14, 'A']" - ] - }, - "execution_count": 123, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "list(tpl)" ] @@ -1518,20 +1102,9 @@ }, { "cell_type": "code", - "execution_count": 124, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'a': 1, 'b': 2, 'c': 3}" - ] - }, - "execution_count": 124, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "dic = {'a':1,'b':2,'c':3}\n", "dic" @@ -1546,20 +1119,9 @@ }, { "cell_type": "code", - "execution_count": 125, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "['a', 'b', 'c']" - ] - }, - "execution_count": 125, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "list(dic)" ] @@ -1601,7 +1163,7 @@ }, { "cell_type": "code", - "execution_count": 190, + "execution_count": null, "metadata": { "hidden": true }, @@ -1625,7 +1187,7 @@ }, { "cell_type": "code", - "execution_count": 191, + "execution_count": null, "metadata": { "hidden": true }, @@ -1645,22 +1207,11 @@ }, { "cell_type": "code", - "execution_count": 192, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "[100]" - ] - }, - "execution_count": 192, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "lst" ] @@ -1676,22 +1227,11 @@ }, { "cell_type": "code", - "execution_count": 193, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "[100, 50]" - ] - }, - "execution_count": 193, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "lst.append(50)\n", "\n", @@ -1737,7 +1277,7 @@ }, { "cell_type": "code", - "execution_count": 164, + "execution_count": null, "metadata": { "hidden": true }, @@ -1748,7 +1288,7 @@ }, { "cell_type": "code", - "execution_count": 165, + "execution_count": null, "metadata": { "hidden": true }, @@ -1801,22 +1341,11 @@ }, { "cell_type": "code", - "execution_count": 170, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "[1, 3.14, 'A']" - ] - }, - "execution_count": 170, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "lst = [1, 3.14, 'A']\n", "lst" @@ -1824,22 +1353,11 @@ }, { "cell_type": "code", - "execution_count": 174, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "(1, 3.14, 'A')" - ] - }, - "execution_count": 174, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "tuple(lst)" ] @@ -1855,22 +1373,11 @@ }, { "cell_type": "code", - "execution_count": 175, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "('a', 'b', 'c')" - ] - }, - "execution_count": 175, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "dic = {'a':1,'b':2,'c':3}\n", "tuple(dic)" @@ -1925,7 +1432,7 @@ }, { "cell_type": "code", - "execution_count": 198, + "execution_count": null, "metadata": { "hidden": true }, @@ -1945,22 +1452,11 @@ }, { "cell_type": "code", - "execution_count": 196, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "2" - ] - }, - "execution_count": 196, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "macro['inflation']" ] @@ -1976,22 +1472,11 @@ }, { "cell_type": "code", - "execution_count": 197, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "5" - ] - }, - "execution_count": 197, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "macro['unemployment']" ] @@ -2026,7 +1511,7 @@ }, { "cell_type": "code", - "execution_count": 200, + "execution_count": null, "metadata": { "hidden": true }, @@ -2046,22 +1531,11 @@ }, { "cell_type": "code", - "execution_count": 201, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "{'a': 1, 'b': 2}" - ] - }, - "execution_count": 201, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "dic3 = dic2['AB']\n", "dic3" @@ -2078,22 +1552,11 @@ }, { "cell_type": "code", - "execution_count": 202, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "2" - ] - }, - "execution_count": 202, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "dic3['b']" ] @@ -2109,22 +1572,11 @@ }, { "cell_type": "code", - "execution_count": 203, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "2" - ] - }, - "execution_count": 203, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "dic2['AB']['b']" ] @@ -2140,22 +1592,11 @@ }, { "cell_type": "code", - "execution_count": 204, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "20" - ] - }, - "execution_count": 204, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "dic2['C'][1]" ] @@ -2190,22 +1631,11 @@ }, { "cell_type": "code", - "execution_count": 206, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "{'inflation': 2, 'unemployment': 10.5, 'interest_rate': 3}" - ] - }, - "execution_count": 206, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "macro['unemployment'] = 10.5\n", "macro" @@ -2232,22 +1662,11 @@ }, { "cell_type": "code", - "execution_count": 207, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "{'inflation': 2, 'interest_rate': 3, '失業率': 10.5}" - ] - }, - "execution_count": 207, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "del macro['unemployment'] # 1\n", "\n", @@ -2292,22 +1711,11 @@ }, { "cell_type": "code", - "execution_count": 209, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "dict_keys(['inflation', 'interest_rate', '失業率'])" - ] - }, - "execution_count": 209, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "mkey = macro.keys()\n", "mkey" @@ -2324,22 +1732,11 @@ }, { "cell_type": "code", - "execution_count": 210, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "dict_keys" - ] - }, - "execution_count": 210, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "type(mkey)" ] @@ -2355,22 +1752,11 @@ }, { "cell_type": "code", - "execution_count": 211, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "['inflation', 'interest_rate', '失業率']" - ] - }, - "execution_count": 211, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "list(mkey)" ] @@ -2388,22 +1774,11 @@ }, { "cell_type": "code", - "execution_count": 214, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "(dict_values([2, 3, 10.5]), dict_values)" - ] - }, - "execution_count": 214, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "mval = macro.values()\n", "\n", @@ -2421,22 +1796,11 @@ }, { "cell_type": "code", - "execution_count": 215, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "[2, 3, 10.5]" - ] - }, - "execution_count": 215, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "list(mval)" ] @@ -2444,7 +1808,8 @@ { "cell_type": "markdown", "metadata": { - "heading_collapsed": true + "heading_collapsed": true, + "jp-MarkdownHeadingCollapsed": true }, "source": [ "## 文字列の操作" @@ -2477,7 +1842,7 @@ }, { "cell_type": "code", - "execution_count": 216, + "execution_count": null, "metadata": { "hidden": true }, @@ -2497,22 +1862,11 @@ }, { "cell_type": "code", - "execution_count": 218, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "('I', '!')" - ] - }, - "execution_count": 218, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "s[0], s[-1]" ] @@ -2528,22 +1882,11 @@ }, { "cell_type": "code", - "execution_count": 222, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "'is fun t'" - ] - }, - "execution_count": 222, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "s[3:10+1]" ] @@ -2573,7 +1916,7 @@ }, { "cell_type": "code", - "execution_count": 223, + "execution_count": null, "metadata": { "hidden": true }, @@ -2603,44 +1946,22 @@ }, { "cell_type": "code", - "execution_count": 264, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "['P', 'y', 't', 'h', 'o', 'n']" - ] - }, - "execution_count": 264, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "list('Python')" ] }, { "cell_type": "code", - "execution_count": 265, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "('P', 'y', 't', 'h', 'o', 'n')" - ] - }, - "execution_count": 265, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "tuple('Python')" ] @@ -2671,22 +1992,11 @@ }, { "cell_type": "code", - "execution_count": 237, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "['It', 'is', 'fun', 'to', 'learn', 'economics!']" - ] - }, - "execution_count": 237, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "s.split()" ] @@ -2702,22 +2012,11 @@ }, { "cell_type": "code", - "execution_count": 238, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "['It ', ' fun to learn economics!']" - ] - }, - "execution_count": 238, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "s.split('is')" ] @@ -2739,7 +2038,7 @@ }, { "cell_type": "code", - "execution_count": 258, + "execution_count": null, "metadata": { "hidden": true }, @@ -2750,22 +2049,11 @@ }, { "cell_type": "code", - "execution_count": 267, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "'P-y-t-h-o-n'" - ] - }, - "execution_count": 267, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "'-'.join(s_new)" ] @@ -2781,22 +2069,11 @@ }, { "cell_type": "code", - "execution_count": 266, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "'P-y-t-h-o-n'" - ] - }, - "execution_count": 266, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "'-'.join('Python')" ] @@ -2818,22 +2095,11 @@ }, { "cell_type": "code", - "execution_count": 268, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "'I-t- -i-s- -f-u-n- -t-o- -l-e-a-r-n- -e-c-o-n-o-m-i-c-s-!'" - ] - }, - "execution_count": 268, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "'-'.join(s)" ] @@ -2849,22 +2115,11 @@ }, { "cell_type": "code", - "execution_count": 271, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "'It-is-fun-to-learn-economics!'" - ] - }, - "execution_count": 271, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "'-'.join( s.split() )" ] @@ -2882,22 +2137,11 @@ }, { "cell_type": "code", - "execution_count": 273, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "'It-is-fun-to-learn-economics!'" - ] - }, - "execution_count": 273, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "s.replace(' ', '-')" ] @@ -2914,22 +2158,11 @@ }, { "cell_type": "code", - "execution_count": 279, + "execution_count": null, "metadata": { "hidden": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "'It😁is😁fun😁to😁learn😁economics‼️'" - ] - }, - "execution_count": 279, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "s.replace(' ', '😁').replace('!', '‼️')" ] @@ -2937,7 +2170,8 @@ { "cell_type": "markdown", "metadata": { - "heading_collapsed": true + "heading_collapsed": true, + "jp-MarkdownHeadingCollapsed": true }, "source": [ "## まとめ" @@ -3059,7 +2293,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.12.2" } }, "nbformat": 4, diff --git a/3_Pandas.ipynb b/3_Pandas.ipynb index b5662a77..b38f947b 100644 --- a/3_Pandas.ipynb +++ b/3_Pandas.ipynb @@ -50,7 +50,23 @@ "source": [ "`Pandas`はデータを扱う上で欠かせないパッケージであり,エクセルをイメージすれば良いだろう。`Pandas`にはエクセルのスプレッド・シートに対応する`DataFrame`(データ・フレーム)と`Series`(シリーズ)呼ばれるオブジェクトがあり,それらを駆使してデータ分析をおこなう。\n", "\n", - "データ・フレームは下の表のようになっている。`X`,`Y`,`Z`は「列ラベル」(アルファベットや記号など)であり、`X`,`Y`,`Z`は`0`、`1`、`2`という「列インデックス」(番号)に対応している。また、一番左の`0`,`1`,`2`は「行インデックス」(番号)であり、「行ラベル」(アルファベットや記号など)を設定することも可能である。その他の数字がデータとなっている。" + "`DataFrame`は次の表の様になっている。まず、用語の整理をしよう。\n", + "\n", + "| | X | Y | Z |\n", + "|---|----|------|-----|\n", + "| 0 | 10 | 5.0 | 3.0 |\n", + "| 1 | 20 | 30.0 | 2.0 |\n", + "| 2 | 30 | 15.0 | 5.0 |\n", + "\n", + "* **列**とは縦に沿ったデータの集まりであり、`X`の列には`10`、`20`、`30`がある。`Y`と`Z`も同様にそれぞれの値から構成される列となる。\n", + "* **行**とは横に沿ったデータの集まりであり、`0`の行には`10`、`5.0`、`3.0`がある。`1`と`2`も同様にそれぞれの値から構成される行となる。\n", + "* **インデックス**とは**行**を特定するための数字やラベル(文字列)を表し、上の例では左側に縦に並ぶ`0`、`1`、`2`がインデックスである。インデックスには2種類がある。\n", + " * **位置番号**:上の例では、`0`は`0`番目の行を、`1`は`1`番目の行を、`2`は`2`番目の行を示す。このサイトでは、これを**インデックス番号**もしくは**行番号**と呼ぶ。\n", + " * **ラベル**:各行を特定するための整数や文字列となる。以下で`DataFrame`の詳細な説明をする際に`df`という変数に`DataFrame`を割り当てるが、そこでは国名(文字列)がラベルに使われている。このサイトでは、これを**行ラベル**と呼ぶ。\n", + "* **列**のラベルと位置番号\n", + " * **ラベル**:列を特定するための整数や文字列を指す。上の例では、`X`,`Y`,`Z`がラベルであり、このサイトでは**列ラベル**と呼ぶ。\n", + " * **位置番号**:上の例では、`X`は`0`番目の列を、`Y`は`1`番目の列を、`Z`は`2`番目の列を示す。このサイトでは、これを**列番号**と呼ぶ。\n", + "* 上の例では行番号と列ラベル以外の数字がデータとなっている。" ] }, { @@ -59,19 +75,9 @@ "hidden": true }, "source": [ - "| | X | Y | Z |\n", - "|---|----|------|-----|\n", - "| 0 | 10 | 5.0 | 3.0 |\n", - "| 1 | 20 | 30.0 | 2.0 |\n", - "| 2 | 30 | 15.0 | 5.0 |\n", - "\n", - "* 列インデックス、行インデックス:`0`、`1`、`3`のような整数\n", - "* 列ラベル、行ラベル:`X`、`Y`、`Z`のような文字列\n", - "\n", - "\n", - "列`X`のデータはその列にある数字`10`,`20`,`30`であり,`Y`と`Z`も同様に同じ列にあるデータから構成される。`DataFrame`は上の表のように1つ以上の列から構成されており、`Series`には1つの列(もしくは行と考えることもできる)のみしかない点が大きな違いである。\n", + "上の表のように、`DataFrame`は1つ以上の行と列から構成されている。一方、`Series`には1つの列(もしくは行と考えることもできる)のみしかない点が大きな違いである。\n", "\n", - "これらの特徴により複雑なデータの扱いが簡単になる。例えば,`NumPy`を使うと目的のデータにアクセスしたい場合、何番目の行で何番目の列なのかを把握する必要がある。一方、`Pandas`では行・列にラベルを使うことにより(例えば,行「1980年」の列「GDP」のようにデータを特定することが可能となる),データの操作が非常に簡単になる。また,`Pandas`は`NumPy`に基づいているため,ベクトル演算の機能が使える。\n", + "これらの特徴により複雑なデータの扱いが簡単になる。例えば,`NumPy`を使うと目的のデータにアクセスしたい場合、行番号と列番号を把握する必要がある。一方、`Pandas`では行と列にラベルを使うことにより(例えば,行`Japan`の列`gdp`のようにデータを特定することが可能となる),データの操作が非常に簡単になる。また,`Pandas`は`NumPy`に基づいているため,ベクトル演算の機能が使える。\n", "\n", "ここで説明できない他の使い方については[このサイト](https://github.com/ysdyt/pandas_tutorial)と[このサイト](https://note.nkmk.me/python-pandas-post-summary/)が参考になるだろう。\n", "\n", @@ -85,6 +91,7 @@ "cell_type": "markdown", "metadata": { "heading_collapsed": true, + "jp-MarkdownHeadingCollapsed": true, "tags": [ "remove-cell" ] @@ -110,7 +117,7 @@ "hidden": true }, "source": [ - "様々なデータを読み込むことが可能だが,ここでは`read_csv()`関数を使って`.csv`ファイルを読み込むことにする。(.csvファイルについては[この検索結果](https://www.google.com/search?q=csv%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A8%E3%81%AF)を参照)ここで使うファイルはインターネット上にあるため、次のコードでは変数`url`に`.csv`ファイルがあるアドレスを文字列として設定している。`data1.csv`は[ここをクリック](https://raw.githubusercontent.com/Py4Basics/py4basics.github.io/source/data/data1.csv)すると表示されるのでダウンロードすることもできる。" + "様々なデータを読み込むことが可能だが,ここでは`read_csv()`関数を使って`.csv`ファイルを読み込むことにする。(`csv`はcomma separated valuesの略称であり、.csvファイルについては[この検索結果](https://www.google.com/search?q=csv%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A8%E3%81%AF)を参照)ここで使う`data1.csv`は[ここをクリック](https://raw.githubusercontent.com/Py4Basics/py4basics.github.io/source/data/data1.csv)をマウスの右クリックすることによりダウンロードすることもできる。" ] }, { @@ -187,20 +194,14 @@ "hidden": true }, "source": [ - "```{tip}\n", + "````{tip}\n", "* `df.set_index('country')`は直接`df`に影響を与えない。単に,書き換えるとどうなるかを表示しているだけとなる。ここでは`df`に再度割り当てることにより`df`自体を上書きしている。\n", "* 出力にある`NaN`(Not a Number)は欠損値を示す。\n", "* 行ラベルに`country`という列ラベルが残るが,それを消すにはメソッド`.rename_axis('')`を使うと良いだろう。ここで`''`は空の文字列である。`.rename_axis(None)`でも同じ結果となる。もしくは次のコードでも良い。\n", - "```" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "df.index.name = '' " + "```\n", + "df.index.name = '' \n", + "```\n", + "````" ] }, { @@ -2484,22 +2485,20 @@ { "cell_type": "markdown", "metadata": { - "heading_collapsed": true, - "jp-MarkdownHeadingCollapsed": true + "heading_collapsed": true }, "source": [ - "## 行インデックスと列ラベル" + "## 行番号と列ラベル" ] }, { "cell_type": "markdown", "metadata": { "heading_collapsed": true, - "hidden": true, - "jp-MarkdownHeadingCollapsed": true + "hidden": true }, "source": [ - "### インデックスを振り直す" + "### 行番号を振り直す" ] }, { @@ -2508,7 +2507,7 @@ "hidden": true }, "source": [ - "[](sec:3-data)においてデータを読み込んだ後,直ぐに`.set_index('year')`を使い,列`year`を行ラベルに設定した。もちろん,必ずしもそうする必要はなく,行インデックス(`0`,`1`,`2`,...)のままで作業をおこなっても全く問題ない。また行ラベルを設定した後に,行インデックスに戻したい場合もあるだろう。その場合には,メソッド`.reset_index()`を使うと,行のインデックスを0,1,2,..と振り直すことができる。`df`を使うと次のようになる。" + "[](sec:3-data)においてデータを読み込んだ後,直ぐに`.set_index('year')`を使い,列`year`を行ラベルに設定した。もちろん,必ずしもそうする必要はなく,行番号(`0`,`1`,`2`,...)のままで作業をおこなっても全く問題ない。また行ラベルを設定した後に,行インデックスに戻したい場合もあるだろう。その場合には,メソッド`.reset_index()`を使うと,行のインデックスを0,1,2,..と振り直すことができる。`df`を使うと次のようになる。" ] }, { @@ -2661,8 +2660,7 @@ { "cell_type": "markdown", "metadata": { - "heading_collapsed": true, - "jp-MarkdownHeadingCollapsed": true + "heading_collapsed": true }, "source": [ "## よく使うメソッド" @@ -2674,7 +2672,7 @@ "hidden": true }, "source": [ - "`DataFrame`には様々なメソッドが用意されており,ここでは頻繁に用いるメソッドを幾つか紹介するために日本の時系列データからなる`.csv`ファイルを読み込むことにする。`data2.csv`は[ここをクリック](https://raw.githubusercontent.com/Py4Basics/py4basics.github.io/source/data/data2.csv)すると表示されるのでダウンロードすることもできる。" + "`DataFrame`には様々なメソッドが用意されており,ここでは頻繁に用いるメソッドを幾つか紹介するために日本の時系列データからなる`.csv`ファイルを読み込むことにする。`data2.csv`は[ここをクリック](https://raw.githubusercontent.com/Py4Basics/py4basics.github.io/source/data/data2.csv)をマウスの右クリックすることによりダウンロードすることもできる。" ] }, { @@ -2716,8 +2714,7 @@ "cell_type": "markdown", "metadata": { "heading_collapsed": true, - "hidden": true, - "jp-MarkdownHeadingCollapsed": true + "hidden": true }, "source": [ "### 統計関連のメソッド" @@ -2870,7 +2867,7 @@ "また変数の変化率(成長率)を計算するには`.pct_change()`が便利である(percent changeの略)。$x_t$を変数とすると、次式に従って毎期ごとの変化率を返すことになる。\n", "\n", "$$\n", - "\\text{変化率}_t=\\frac{x_{t+1}-x_t}{x_t}\n", + "\\text{変化率}_t=\\frac{x_{t}-x_{t-1}}{x_{t-1}}\n", "$$" ] }, @@ -4046,7 +4043,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.2" + "version": "3.12.3" }, "nteract": { "version": "0.15.0"