{ "cells": [ { "cell_type": "markdown", "id": "0ee5295a-fd77-4cbe-aa7f-4fcbf2af349d", "metadata": {}, "source": [ "# インデックス" ] }, { "cell_type": "code", "execution_count": 1, "id": "fd687ffa-f53a-478a-ad9c-77bd2eb23afe", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
startTimetimeopenhighlowclosevolume
02022-03-09 20:00:00+00:002022-03-09 20:00:0042229.042271.042228.042254.04.986935e+06
12022-03-09 20:05:00+00:002022-03-09 20:05:0042254.042357.042246.042253.01.541197e+07
22022-03-09 20:10:00+00:002022-03-09 20:10:0042253.042318.042123.042146.01.741020e+07
32022-03-09 20:15:00+00:002022-03-09 20:15:0042147.042183.042080.042089.08.337687e+06
42022-03-09 20:20:00+00:002022-03-09 20:20:0042089.042190.042089.042110.05.248858e+06
\n", "
" ], "text/plain": [ " startTime time open high low \\\n", "0 2022-03-09 20:00:00+00:00 2022-03-09 20:00:00 42229.0 42271.0 42228.0 \n", "1 2022-03-09 20:05:00+00:00 2022-03-09 20:05:00 42254.0 42357.0 42246.0 \n", "2 2022-03-09 20:10:00+00:00 2022-03-09 20:10:00 42253.0 42318.0 42123.0 \n", "3 2022-03-09 20:15:00+00:00 2022-03-09 20:15:00 42147.0 42183.0 42080.0 \n", "4 2022-03-09 20:20:00+00:00 2022-03-09 20:20:00 42089.0 42190.0 42089.0 \n", "\n", " close volume \n", "0 42254.0 4.986935e+06 \n", "1 42253.0 1.541197e+07 \n", "2 42146.0 1.741020e+07 \n", "3 42089.0 8.337687e+06 \n", "4 42110.0 5.248858e+06 " ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "\n", "df = pd.read_pickle(\"ftx_btc-rerp_20220306-20220312.pickle\")\n", "df.head()" ] }, { "cell_type": "markdown", "id": "eeeb3ec0-6372-4402-a4f4-ff705e27e31e", "metadata": {}, "source": [ "## locインデクサ\n", "\n", "`DataFrame.loc` はDataFrameの要素に「ラベルから」アクセスするためのインデクサです。\n", "\n", "`loc[行のラベル, 列のラベル]` の形式で要素を指定します。\n", "\n", "```{note}\n", "行および列のラベルを「インデックス」と表記することもありますが、ここでは順序を表すインデックスと区別するため、「ラベル」と表記しています\n", "```" ] }, { "cell_type": "code", "execution_count": 2, "id": "c6fd2bbc-0b28-4726-8deb-c65dc8cd282e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "42147.0" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.loc[3, \"open\"]" ] }, { "cell_type": "markdown", "id": "16dc7d01-9c20-4678-baa7-8fd59fdf0382", "metadata": {}, "source": [ "`loc` にはスライスやリストによる要素に指定ができます" ] }, { "cell_type": "code", "execution_count": 3, "id": "4853af41-9d64-4d7a-a8be-7d3034e20a22", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
timevolume
22022-03-09 20:10:001.741020e+07
32022-03-09 20:15:008.337687e+06
42022-03-09 20:20:005.248858e+06
52022-03-09 20:25:003.678867e+06
\n", "
" ], "text/plain": [ " time volume\n", "2 2022-03-09 20:10:00 1.741020e+07\n", "3 2022-03-09 20:15:00 8.337687e+06\n", "4 2022-03-09 20:20:00 5.248858e+06\n", "5 2022-03-09 20:25:00 3.678867e+06" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.loc[2:5, [\"time\", \"volume\"]]" ] }, { "cell_type": "markdown", "id": "115daafc-0f75-4084-b05c-9f3a21ab66b1", "metadata": {}, "source": [ "## ilocインデクサ\n", "\n", "`DataFrame.loc` はDataFrameの要素に「順序から」アクセスするためのインデクサです。\n", "\n", "`loc[行の順序, 列の順序]` の形式で要素を指定します。" ] }, { "cell_type": "code", "execution_count": 4, "id": "d9c95914-c53b-4583-ae41-526015a46231", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "42147.0" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.iloc[3, 2]" ] }, { "cell_type": "code", "execution_count": 5, "id": "61d86df6-27a3-48ab-b787-39487d865659", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
timevolume
22022-03-09 20:10:001.741020e+07
32022-03-09 20:15:008.337687e+06
42022-03-09 20:20:005.248858e+06
\n", "
" ], "text/plain": [ " time volume\n", "2 2022-03-09 20:10:00 1.741020e+07\n", "3 2022-03-09 20:15:00 8.337687e+06\n", "4 2022-03-09 20:20:00 5.248858e+06" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.iloc[2:5, [1, -1]]" ] }, { "cell_type": "markdown", "id": "7bfa1491-1f36-4fce-9700-65defc320fa0", "metadata": {}, "source": [ "## DatetimeIndex\n", "\n", "`DatetimeIndex` は時系列データに特化したインデックスです。日時を柔軟に指定して要素にアクセスできます。\n", "\n", "`set_index` メソッドは指定した列をインデックスにします。" ] }, { "cell_type": "code", "execution_count": 6, "id": "d3002791-4f0b-402d-8c23-9df187c2ed4e", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
startTimeopenhighlowclosevolume
time
2022-03-09 20:00:002022-03-09 20:00:00+00:0042229.042271.042228.042254.04.986935e+06
2022-03-09 20:05:002022-03-09 20:05:00+00:0042254.042357.042246.042253.01.541197e+07
2022-03-09 20:10:002022-03-09 20:10:00+00:0042253.042318.042123.042146.01.741020e+07
2022-03-09 20:15:002022-03-09 20:15:00+00:0042147.042183.042080.042089.08.337687e+06
2022-03-09 20:20:002022-03-09 20:20:00+00:0042089.042190.042089.042110.05.248858e+06
\n", "
" ], "text/plain": [ " startTime open high low \\\n", "time \n", "2022-03-09 20:00:00 2022-03-09 20:00:00+00:00 42229.0 42271.0 42228.0 \n", "2022-03-09 20:05:00 2022-03-09 20:05:00+00:00 42254.0 42357.0 42246.0 \n", "2022-03-09 20:10:00 2022-03-09 20:10:00+00:00 42253.0 42318.0 42123.0 \n", "2022-03-09 20:15:00 2022-03-09 20:15:00+00:00 42147.0 42183.0 42080.0 \n", "2022-03-09 20:20:00 2022-03-09 20:20:00+00:00 42089.0 42190.0 42089.0 \n", "\n", " close volume \n", "time \n", "2022-03-09 20:00:00 42254.0 4.986935e+06 \n", "2022-03-09 20:05:00 42253.0 1.541197e+07 \n", "2022-03-09 20:10:00 42146.0 1.741020e+07 \n", "2022-03-09 20:15:00 42089.0 8.337687e+06 \n", "2022-03-09 20:20:00 42110.0 5.248858e+06 " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.set_index(\"time\", inplace=True)\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 7, "id": "2dab60f6-aa76-4992-a7d7-3fac16fd3dcd", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "DatetimeIndex(['2022-03-09 20:00:00', '2022-03-09 20:05:00',\n", " '2022-03-09 20:10:00', '2022-03-09 20:15:00',\n", " '2022-03-09 20:20:00', '2022-03-09 20:25:00',\n", " '2022-03-09 20:30:00', '2022-03-09 20:35:00',\n", " '2022-03-09 20:40:00', '2022-03-09 20:45:00',\n", " ...\n", " '2022-03-15 00:10:00', '2022-03-15 00:15:00',\n", " '2022-03-15 00:20:00', '2022-03-15 00:25:00',\n", " '2022-03-15 00:30:00', '2022-03-15 00:35:00',\n", " '2022-03-15 00:40:00', '2022-03-15 00:45:00',\n", " '2022-03-15 00:50:00', '2022-03-15 00:55:00'],\n", " dtype='datetime64[ns]', name='time', length=1500, freq=None)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.index" ] }, { "cell_type": "markdown", "id": "37d97153-bb0d-4f54-ba63-081d88ea8d28", "metadata": {}, "source": [ "datetime型やtime型による指定ができます。" ] }, { "cell_type": "code", "execution_count": 8, "id": "6a72ba0f-e9da-4da3-9176-5bae21813e0a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4986934.9804" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import datetime\n", "\n", "df.loc[datetime.datetime(2022, 3, 9, 20), \"volume\"]" ] }, { "cell_type": "code", "execution_count": 9, "id": "246b3281-2440-41de-8a71-771ece76f8be", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
startTimeopenhighlowclosevolume
time
2022-03-09 20:00:002022-03-09 20:00:00+00:0042229.042271.042228.042254.04.986935e+06
2022-03-10 20:00:002022-03-10 20:00:00+00:0039437.039455.039372.039402.07.649057e+06
2022-03-11 20:00:002022-03-11 20:00:00+00:0038797.038837.038759.038787.07.301834e+06
2022-03-12 20:00:002022-03-12 20:00:00+00:0039031.039055.038991.039010.02.578932e+06
2022-03-13 20:00:002022-03-13 20:00:00+00:0038865.038866.038738.038774.01.995891e+07
2022-03-14 20:00:002022-03-14 20:00:00+00:0038824.038920.038808.038904.01.423804e+07
\n", "
" ], "text/plain": [ " startTime open high low \\\n", "time \n", "2022-03-09 20:00:00 2022-03-09 20:00:00+00:00 42229.0 42271.0 42228.0 \n", "2022-03-10 20:00:00 2022-03-10 20:00:00+00:00 39437.0 39455.0 39372.0 \n", "2022-03-11 20:00:00 2022-03-11 20:00:00+00:00 38797.0 38837.0 38759.0 \n", "2022-03-12 20:00:00 2022-03-12 20:00:00+00:00 39031.0 39055.0 38991.0 \n", "2022-03-13 20:00:00 2022-03-13 20:00:00+00:00 38865.0 38866.0 38738.0 \n", "2022-03-14 20:00:00 2022-03-14 20:00:00+00:00 38824.0 38920.0 38808.0 \n", "\n", " close volume \n", "time \n", "2022-03-09 20:00:00 42254.0 4.986935e+06 \n", "2022-03-10 20:00:00 39402.0 7.649057e+06 \n", "2022-03-11 20:00:00 38787.0 7.301834e+06 \n", "2022-03-12 20:00:00 39010.0 2.578932e+06 \n", "2022-03-13 20:00:00 38774.0 1.995891e+07 \n", "2022-03-14 20:00:00 38904.0 1.423804e+07 " ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.loc[datetime.time(20, 0), :]" ] }, { "cell_type": "code", "execution_count": 10, "id": "882f31b4-f75d-479a-8e39-efb119be8854", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "startTime 2022-03-09 20:00:00+00:00\n", "open 42229.0\n", "high 42271.0\n", "low 42228.0\n", "close 42254.0\n", "volume 4986934.9804\n", "Name: 2022-03-09 20:00:00, dtype: object" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.loc[pd.Timestamp(\"2022-03-09 20:00\"), :]" ] }, { "cell_type": "markdown", "id": "566ec0db-c685-47df-9aac-488e887bc952", "metadata": {}, "source": [ "文字列による指定もできます。" ] }, { "cell_type": "code", "execution_count": 11, "id": "c0486e6f-468c-428a-a671-b191d0cc0e5c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "startTime 2022-03-09 20:00:00+00:00\n", "open 42229.0\n", "high 42271.0\n", "low 42228.0\n", "close 42254.0\n", "volume 4986934.9804\n", "Name: 2022-03-09 20:00:00, dtype: object" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 2022年3月9日20時0分\n", "df.loc[\"2022-03-09 20:00\", :]" ] }, { "cell_type": "code", "execution_count": 12, "id": "864cda87-cab3-4520-a543-587d058955a7", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
startTimeopenhighlowclosevolume
time
2022-03-09 20:00:002022-03-09 20:00:00+00:0042229.042271.042228.042254.04.986935e+06
2022-03-09 20:05:002022-03-09 20:05:00+00:0042254.042357.042246.042253.01.541197e+07
2022-03-09 20:10:002022-03-09 20:10:00+00:0042253.042318.042123.042146.01.741020e+07
2022-03-09 20:15:002022-03-09 20:15:00+00:0042147.042183.042080.042089.08.337687e+06
2022-03-09 20:20:002022-03-09 20:20:00+00:0042089.042190.042089.042110.05.248858e+06
\n", "
" ], "text/plain": [ " startTime open high low \\\n", "time \n", "2022-03-09 20:00:00 2022-03-09 20:00:00+00:00 42229.0 42271.0 42228.0 \n", "2022-03-09 20:05:00 2022-03-09 20:05:00+00:00 42254.0 42357.0 42246.0 \n", "2022-03-09 20:10:00 2022-03-09 20:10:00+00:00 42253.0 42318.0 42123.0 \n", "2022-03-09 20:15:00 2022-03-09 20:15:00+00:00 42147.0 42183.0 42080.0 \n", "2022-03-09 20:20:00 2022-03-09 20:20:00+00:00 42089.0 42190.0 42089.0 \n", "\n", " close volume \n", "time \n", "2022-03-09 20:00:00 42254.0 4.986935e+06 \n", "2022-03-09 20:05:00 42253.0 1.541197e+07 \n", "2022-03-09 20:10:00 42146.0 1.741020e+07 \n", "2022-03-09 20:15:00 42089.0 8.337687e+06 \n", "2022-03-09 20:20:00 42110.0 5.248858e+06 " ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 2022年3月9日\n", "df.loc[\"2022-03-09\", :].head()" ] }, { "cell_type": "code", "execution_count": 13, "id": "ec7268ef-3bae-4ce3-9e2e-d43252a0f24c", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
startTimeopenhighlowclosevolume
time
2022-03-09 23:35:002022-03-09 23:35:00+00:0042128.042150.042043.042043.03.064221e+07
2022-03-09 23:40:002022-03-09 23:40:00+00:0042043.042062.041971.042041.07.510289e+06
2022-03-09 23:45:002022-03-09 23:45:00+00:0042041.042083.041990.042003.05.706220e+06
2022-03-09 23:50:002022-03-09 23:50:00+00:0042003.042019.041975.041997.03.546661e+06
2022-03-09 23:55:002022-03-09 23:55:00+00:0041997.042033.041943.041960.09.030276e+06
\n", "
" ], "text/plain": [ " startTime open high low \\\n", "time \n", "2022-03-09 23:35:00 2022-03-09 23:35:00+00:00 42128.0 42150.0 42043.0 \n", "2022-03-09 23:40:00 2022-03-09 23:40:00+00:00 42043.0 42062.0 41971.0 \n", "2022-03-09 23:45:00 2022-03-09 23:45:00+00:00 42041.0 42083.0 41990.0 \n", "2022-03-09 23:50:00 2022-03-09 23:50:00+00:00 42003.0 42019.0 41975.0 \n", "2022-03-09 23:55:00 2022-03-09 23:55:00+00:00 41997.0 42033.0 41943.0 \n", "\n", " close volume \n", "time \n", "2022-03-09 23:35:00 42043.0 3.064221e+07 \n", "2022-03-09 23:40:00 42041.0 7.510289e+06 \n", "2022-03-09 23:45:00 42003.0 5.706220e+06 \n", "2022-03-09 23:50:00 41997.0 3.546661e+06 \n", "2022-03-09 23:55:00 41960.0 9.030276e+06 " ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.loc[\"2022-03-09\", :].tail()" ] }, { "cell_type": "code", "execution_count": 14, "id": "4a4fed58-5704-45ae-8bd6-e0e463cda66a", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
startTimeopenhighlowclosevolume
time
2022-03-09 20:00:002022-03-09 20:00:00+00:0042229.042271.042228.042254.04.986935e+06
2022-03-09 20:05:002022-03-09 20:05:00+00:0042254.042357.042246.042253.01.541197e+07
2022-03-09 20:10:002022-03-09 20:10:00+00:0042253.042318.042123.042146.01.741020e+07
2022-03-09 20:15:002022-03-09 20:15:00+00:0042147.042183.042080.042089.08.337687e+06
2022-03-09 20:20:002022-03-09 20:20:00+00:0042089.042190.042089.042110.05.248858e+06
\n", "
" ], "text/plain": [ " startTime open high low \\\n", "time \n", "2022-03-09 20:00:00 2022-03-09 20:00:00+00:00 42229.0 42271.0 42228.0 \n", "2022-03-09 20:05:00 2022-03-09 20:05:00+00:00 42254.0 42357.0 42246.0 \n", "2022-03-09 20:10:00 2022-03-09 20:10:00+00:00 42253.0 42318.0 42123.0 \n", "2022-03-09 20:15:00 2022-03-09 20:15:00+00:00 42147.0 42183.0 42080.0 \n", "2022-03-09 20:20:00 2022-03-09 20:20:00+00:00 42089.0 42190.0 42089.0 \n", "\n", " close volume \n", "time \n", "2022-03-09 20:00:00 42254.0 4.986935e+06 \n", "2022-03-09 20:05:00 42253.0 1.541197e+07 \n", "2022-03-09 20:10:00 42146.0 1.741020e+07 \n", "2022-03-09 20:15:00 42089.0 8.337687e+06 \n", "2022-03-09 20:20:00 42110.0 5.248858e+06 " ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 2022年3月\n", "df.loc[\"2022-03\", :].head()" ] }, { "cell_type": "code", "execution_count": 15, "id": "42a611be-4ebc-4f6a-b0c7-804286b32d34", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
startTimeopenhighlowclosevolume
time
2022-03-15 00:35:002022-03-15 00:35:00+00:0039558.039562.039460.039481.07.827251e+06
2022-03-15 00:40:002022-03-15 00:40:00+00:0039481.039574.039469.039567.05.586437e+06
2022-03-15 00:45:002022-03-15 00:45:00+00:0039567.039614.039505.039506.09.568077e+06
2022-03-15 00:50:002022-03-15 00:50:00+00:0039506.039548.039506.039531.03.365713e+06
2022-03-15 00:55:002022-03-15 00:55:00+00:0039535.039580.039532.039571.02.119015e+06
\n", "
" ], "text/plain": [ " startTime open high low \\\n", "time \n", "2022-03-15 00:35:00 2022-03-15 00:35:00+00:00 39558.0 39562.0 39460.0 \n", "2022-03-15 00:40:00 2022-03-15 00:40:00+00:00 39481.0 39574.0 39469.0 \n", "2022-03-15 00:45:00 2022-03-15 00:45:00+00:00 39567.0 39614.0 39505.0 \n", "2022-03-15 00:50:00 2022-03-15 00:50:00+00:00 39506.0 39548.0 39506.0 \n", "2022-03-15 00:55:00 2022-03-15 00:55:00+00:00 39535.0 39580.0 39532.0 \n", "\n", " close volume \n", "time \n", "2022-03-15 00:35:00 39481.0 7.827251e+06 \n", "2022-03-15 00:40:00 39567.0 5.586437e+06 \n", "2022-03-15 00:45:00 39506.0 9.568077e+06 \n", "2022-03-15 00:50:00 39531.0 3.365713e+06 \n", "2022-03-15 00:55:00 39571.0 2.119015e+06 " ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.loc[\"2022-03\", :].tail()" ] }, { "cell_type": "code", "execution_count": 16, "id": "2a4581ae-4599-4523-9bf0-0dc19f08d3d0", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
startTimeopenhighlowclosevolume
time
2022-03-10 13:00:002022-03-10 13:00:00+00:0039262.039311.039246.039281.01.068628e+07
2022-03-10 13:05:002022-03-10 13:05:00+00:0039281.039284.039201.039216.07.875157e+06
2022-03-10 13:10:002022-03-10 13:10:00+00:0039216.039265.039213.039243.07.673845e+06
2022-03-10 13:15:002022-03-10 13:15:00+00:0039243.039326.039236.039307.01.134806e+07
2022-03-10 13:20:002022-03-10 13:20:00+00:0039307.039342.039273.039309.01.251940e+07
.....................
2022-03-11 02:40:002022-03-11 02:40:00+00:0038407.038435.038369.038377.04.307957e+06
2022-03-11 02:45:002022-03-11 02:45:00+00:0038377.038415.038364.038373.04.826126e+06
2022-03-11 02:50:002022-03-11 02:50:00+00:0038373.038455.038243.038426.01.326355e+07
2022-03-11 02:55:002022-03-11 02:55:00+00:0038426.038451.038240.038292.01.406263e+07
2022-03-11 03:00:002022-03-11 03:00:00+00:0038292.038420.038272.038336.01.442301e+07
\n", "

169 rows × 6 columns

\n", "
" ], "text/plain": [ " startTime open high low \\\n", "time \n", "2022-03-10 13:00:00 2022-03-10 13:00:00+00:00 39262.0 39311.0 39246.0 \n", "2022-03-10 13:05:00 2022-03-10 13:05:00+00:00 39281.0 39284.0 39201.0 \n", "2022-03-10 13:10:00 2022-03-10 13:10:00+00:00 39216.0 39265.0 39213.0 \n", "2022-03-10 13:15:00 2022-03-10 13:15:00+00:00 39243.0 39326.0 39236.0 \n", "2022-03-10 13:20:00 2022-03-10 13:20:00+00:00 39307.0 39342.0 39273.0 \n", "... ... ... ... ... \n", "2022-03-11 02:40:00 2022-03-11 02:40:00+00:00 38407.0 38435.0 38369.0 \n", "2022-03-11 02:45:00 2022-03-11 02:45:00+00:00 38377.0 38415.0 38364.0 \n", "2022-03-11 02:50:00 2022-03-11 02:50:00+00:00 38373.0 38455.0 38243.0 \n", "2022-03-11 02:55:00 2022-03-11 02:55:00+00:00 38426.0 38451.0 38240.0 \n", "2022-03-11 03:00:00 2022-03-11 03:00:00+00:00 38292.0 38420.0 38272.0 \n", "\n", " close volume \n", "time \n", "2022-03-10 13:00:00 39281.0 1.068628e+07 \n", "2022-03-10 13:05:00 39216.0 7.875157e+06 \n", "2022-03-10 13:10:00 39243.0 7.673845e+06 \n", "2022-03-10 13:15:00 39307.0 1.134806e+07 \n", "2022-03-10 13:20:00 39309.0 1.251940e+07 \n", "... ... ... \n", "2022-03-11 02:40:00 38377.0 4.307957e+06 \n", "2022-03-11 02:45:00 38373.0 4.826126e+06 \n", "2022-03-11 02:50:00 38426.0 1.326355e+07 \n", "2022-03-11 02:55:00 38292.0 1.406263e+07 \n", "2022-03-11 03:00:00 38336.0 1.442301e+07 \n", "\n", "[169 rows x 6 columns]" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.loc[\"2022-03-10 13:00\":\"2022-03-11 03:00\", :]" ] }, { "cell_type": "code", "execution_count": 17, "id": "a5959c1a-a977-40b7-8130-4e3388684b38", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
startTimeopenhighlowclosevolume
time
2022-03-10 10:00:002022-03-10 10:00:00+00:0039161.039232.039122.039224.01.232851e+07
2022-03-10 10:05:002022-03-10 10:05:00+00:0039224.039238.039172.039202.09.854052e+06
2022-03-10 10:10:002022-03-10 10:10:00+00:0039202.039238.039159.039220.09.966978e+06
2022-03-10 10:15:002022-03-10 10:15:00+00:0039220.039234.039144.039205.09.997023e+06
2022-03-10 10:20:002022-03-10 10:20:00+00:0039205.039246.039175.039202.08.136784e+06
.....................
2022-03-14 10:40:002022-03-14 10:40:00+00:0039015.039079.038988.039040.09.049719e+06
2022-03-14 10:45:002022-03-14 10:45:00+00:0039040.039048.039016.039025.04.972424e+06
2022-03-14 10:50:002022-03-14 10:50:00+00:0039025.039096.039022.039089.02.936812e+06
2022-03-14 10:55:002022-03-14 10:55:00+00:0039089.039134.039072.039112.04.526722e+06
2022-03-14 11:00:002022-03-14 11:00:00+00:0039112.039133.039066.039066.04.075655e+06
\n", "

65 rows × 6 columns

\n", "
" ], "text/plain": [ " startTime open high low \\\n", "time \n", "2022-03-10 10:00:00 2022-03-10 10:00:00+00:00 39161.0 39232.0 39122.0 \n", "2022-03-10 10:05:00 2022-03-10 10:05:00+00:00 39224.0 39238.0 39172.0 \n", "2022-03-10 10:10:00 2022-03-10 10:10:00+00:00 39202.0 39238.0 39159.0 \n", "2022-03-10 10:15:00 2022-03-10 10:15:00+00:00 39220.0 39234.0 39144.0 \n", "2022-03-10 10:20:00 2022-03-10 10:20:00+00:00 39205.0 39246.0 39175.0 \n", "... ... ... ... ... \n", "2022-03-14 10:40:00 2022-03-14 10:40:00+00:00 39015.0 39079.0 38988.0 \n", "2022-03-14 10:45:00 2022-03-14 10:45:00+00:00 39040.0 39048.0 39016.0 \n", "2022-03-14 10:50:00 2022-03-14 10:50:00+00:00 39025.0 39096.0 39022.0 \n", "2022-03-14 10:55:00 2022-03-14 10:55:00+00:00 39089.0 39134.0 39072.0 \n", "2022-03-14 11:00:00 2022-03-14 11:00:00+00:00 39112.0 39133.0 39066.0 \n", "\n", " close volume \n", "time \n", "2022-03-10 10:00:00 39224.0 1.232851e+07 \n", "2022-03-10 10:05:00 39202.0 9.854052e+06 \n", "2022-03-10 10:10:00 39220.0 9.966978e+06 \n", "2022-03-10 10:15:00 39205.0 9.997023e+06 \n", "2022-03-10 10:20:00 39202.0 8.136784e+06 \n", "... ... ... \n", "2022-03-14 10:40:00 39040.0 9.049719e+06 \n", "2022-03-14 10:45:00 39025.0 4.972424e+06 \n", "2022-03-14 10:50:00 39089.0 2.936812e+06 \n", "2022-03-14 10:55:00 39112.0 4.526722e+06 \n", "2022-03-14 11:00:00 39066.0 4.075655e+06 \n", "\n", "[65 rows x 6 columns]" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 10時から11時\n", "df.between_time(\"10:00\", \"11:00\")" ] }, { "cell_type": "markdown", "id": "71690e21-a191-4bb5-b8de-06ab80e98dc3", "metadata": {}, "source": [ "## ブールインデックス\n", "\n", "SeriesやDataFrameに対して比較演算すると、ブール値が返ります。" ] }, { "cell_type": "code", "execution_count": 18, "id": "866b96db-42f8-41b2-bf98-f8847a2ebe9c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "time\n", "2022-03-09 20:00:00 False\n", "2022-03-09 20:05:00 True\n", "2022-03-09 20:10:00 True\n", "2022-03-09 20:15:00 False\n", "2022-03-09 20:20:00 False\n", " ... \n", "2022-03-15 00:35:00 False\n", "2022-03-15 00:40:00 False\n", "2022-03-15 00:45:00 False\n", "2022-03-15 00:50:00 False\n", "2022-03-15 00:55:00 False\n", "Name: volume, Length: 1500, dtype: bool" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.loc[:, \"volume\"] > 1e+7" ] }, { "cell_type": "markdown", "id": "dcdfe1dc-cc75-4fc2-b905-00c7ccfac42c", "metadata": {}, "source": [ "locにブール値を指定することで、Trueの要素に対してアクセスできます。" ] }, { "cell_type": "code", "execution_count": 19, "id": "28cea880-0b77-4a86-8669-a786a54a1b3b", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
startTimeopenhighlowclosevolume
time
2022-03-09 20:05:002022-03-09 20:05:00+00:0042254.042357.042246.042253.01.541197e+07
2022-03-09 20:10:002022-03-09 20:10:00+00:0042253.042318.042123.042146.01.741020e+07
2022-03-09 20:40:002022-03-09 20:40:00+00:0041947.041993.041826.041850.01.928753e+07
2022-03-09 20:50:002022-03-09 20:50:00+00:0041877.041920.041724.041865.02.270338e+07
2022-03-09 21:05:002022-03-09 21:05:00+00:0041897.041968.041819.041822.01.060387e+07
.....................
2022-03-14 23:55:002022-03-14 23:55:00+00:0039620.039731.039614.039689.01.003464e+07
2022-03-15 00:00:002022-03-15 00:00:00+00:0039689.039835.039608.039700.05.662910e+07
2022-03-15 00:05:002022-03-15 00:05:00+00:0039700.039759.039647.039718.01.092920e+07
2022-03-15 00:10:002022-03-15 00:10:00+00:0039718.039734.039552.039555.01.141035e+07
2022-03-15 00:15:002022-03-15 00:15:00+00:0039555.039555.039383.039451.02.928895e+07
\n", "

492 rows × 6 columns

\n", "
" ], "text/plain": [ " startTime open high low \\\n", "time \n", "2022-03-09 20:05:00 2022-03-09 20:05:00+00:00 42254.0 42357.0 42246.0 \n", "2022-03-09 20:10:00 2022-03-09 20:10:00+00:00 42253.0 42318.0 42123.0 \n", "2022-03-09 20:40:00 2022-03-09 20:40:00+00:00 41947.0 41993.0 41826.0 \n", "2022-03-09 20:50:00 2022-03-09 20:50:00+00:00 41877.0 41920.0 41724.0 \n", "2022-03-09 21:05:00 2022-03-09 21:05:00+00:00 41897.0 41968.0 41819.0 \n", "... ... ... ... ... \n", "2022-03-14 23:55:00 2022-03-14 23:55:00+00:00 39620.0 39731.0 39614.0 \n", "2022-03-15 00:00:00 2022-03-15 00:00:00+00:00 39689.0 39835.0 39608.0 \n", "2022-03-15 00:05:00 2022-03-15 00:05:00+00:00 39700.0 39759.0 39647.0 \n", "2022-03-15 00:10:00 2022-03-15 00:10:00+00:00 39718.0 39734.0 39552.0 \n", "2022-03-15 00:15:00 2022-03-15 00:15:00+00:00 39555.0 39555.0 39383.0 \n", "\n", " close volume \n", "time \n", "2022-03-09 20:05:00 42253.0 1.541197e+07 \n", "2022-03-09 20:10:00 42146.0 1.741020e+07 \n", "2022-03-09 20:40:00 41850.0 1.928753e+07 \n", "2022-03-09 20:50:00 41865.0 2.270338e+07 \n", "2022-03-09 21:05:00 41822.0 1.060387e+07 \n", "... ... ... \n", "2022-03-14 23:55:00 39689.0 1.003464e+07 \n", "2022-03-15 00:00:00 39700.0 5.662910e+07 \n", "2022-03-15 00:05:00 39718.0 1.092920e+07 \n", "2022-03-15 00:10:00 39555.0 1.141035e+07 \n", "2022-03-15 00:15:00 39451.0 2.928895e+07 \n", "\n", "[492 rows x 6 columns]" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.loc[df.loc[:, \"volume\"] > 1e+7, :]" ] }, { "cell_type": "markdown", "id": "b9622148-1c6a-40b3-bc5e-bd5e8445967c", "metadata": {}, "source": [ "## 要素の変更\n", "\n", "インデックスで指定した要素に対して代入すると、値が変更されます。" ] }, { "cell_type": "code", "execution_count": 20, "id": "13b1416b-a1b2-4cc6-b47c-cef543249631", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
startTimeopenhighlowclosevolume
time
2022-03-09 20:00:002022-03-09 20:00:00+00:0042229.042271.042228.042254.00.000000e+00
2022-03-09 20:05:002022-03-09 20:05:00+00:0042254.042357.042246.042253.01.541197e+07
2022-03-09 20:10:002022-03-09 20:10:00+00:0042253.042318.042123.042146.01.741020e+07
2022-03-09 20:15:002022-03-09 20:15:00+00:0042147.042183.042080.042089.08.337687e+06
2022-03-09 20:20:002022-03-09 20:20:00+00:0042089.042190.042089.042110.05.248858e+06
\n", "
" ], "text/plain": [ " startTime open high low \\\n", "time \n", "2022-03-09 20:00:00 2022-03-09 20:00:00+00:00 42229.0 42271.0 42228.0 \n", "2022-03-09 20:05:00 2022-03-09 20:05:00+00:00 42254.0 42357.0 42246.0 \n", "2022-03-09 20:10:00 2022-03-09 20:10:00+00:00 42253.0 42318.0 42123.0 \n", "2022-03-09 20:15:00 2022-03-09 20:15:00+00:00 42147.0 42183.0 42080.0 \n", "2022-03-09 20:20:00 2022-03-09 20:20:00+00:00 42089.0 42190.0 42089.0 \n", "\n", " close volume \n", "time \n", "2022-03-09 20:00:00 42254.0 0.000000e+00 \n", "2022-03-09 20:05:00 42253.0 1.541197e+07 \n", "2022-03-09 20:10:00 42146.0 1.741020e+07 \n", "2022-03-09 20:15:00 42089.0 8.337687e+06 \n", "2022-03-09 20:20:00 42110.0 5.248858e+06 " ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.loc[\"2022-03-09 20:00\", \"volume\"] = 0\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 21, "id": "4bcca3c1-88d7-4542-a8ff-f6f47c700654", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
startTimeopenhighlowclosevolume
time
2022-03-09 20:00:0000.00.00.00.00.000000e+00
2022-03-09 20:05:002022-03-09 20:05:00+00:0042254.042357.042246.042253.01.541197e+07
2022-03-09 20:10:002022-03-09 20:10:00+00:0042253.042318.042123.042146.01.741020e+07
2022-03-09 20:15:002022-03-09 20:15:00+00:0042147.042183.042080.042089.08.337687e+06
2022-03-09 20:20:002022-03-09 20:20:00+00:0042089.042190.042089.042110.05.248858e+06
\n", "
" ], "text/plain": [ " startTime open high low \\\n", "time \n", "2022-03-09 20:00:00 0 0.0 0.0 0.0 \n", "2022-03-09 20:05:00 2022-03-09 20:05:00+00:00 42254.0 42357.0 42246.0 \n", "2022-03-09 20:10:00 2022-03-09 20:10:00+00:00 42253.0 42318.0 42123.0 \n", "2022-03-09 20:15:00 2022-03-09 20:15:00+00:00 42147.0 42183.0 42080.0 \n", "2022-03-09 20:20:00 2022-03-09 20:20:00+00:00 42089.0 42190.0 42089.0 \n", "\n", " close volume \n", "time \n", "2022-03-09 20:00:00 0.0 0.000000e+00 \n", "2022-03-09 20:05:00 42253.0 1.541197e+07 \n", "2022-03-09 20:10:00 42146.0 1.741020e+07 \n", "2022-03-09 20:15:00 42089.0 8.337687e+06 \n", "2022-03-09 20:20:00 42110.0 5.248858e+06 " ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.loc[\"2022-03-09 20:00\", :] = 0\n", "df.head()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.6" } }, "nbformat": 4, "nbformat_minor": 5 }