{
"cells": [
{
"cell_type": "markdown",
"id": "b8a5c015",
"metadata": {},
"source": [
"# pandas: Reset index"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "12d09125",
"metadata": {
"execution": {
"iopub.execute_input": "2025-09-02T18:58:08.464735Z",
"iopub.status.busy": "2025-09-02T18:58:08.464618Z",
"iopub.status.idle": "2025-09-02T18:58:08.707143Z",
"shell.execute_reply": "2025-09-02T18:58:08.706464Z"
},
"tags": [
"hide-output",
"scroll-output"
]
},
"outputs": [],
"source": [
"import pandas as pd"
]
},
{
"cell_type": "markdown",
"id": "7fc645b1",
"metadata": {},
"source": [
"## Loading data into Pandas DataFrame\n",
"The dataset is from [Kaggle - Pokemon](https://www.kaggle.com/datasets/abcsds/pokemon)."
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "7545bbba",
"metadata": {
"execution": {
"iopub.execute_input": "2025-09-02T18:58:08.708960Z",
"iopub.status.busy": "2025-09-02T18:58:08.708797Z",
"iopub.status.idle": "2025-09-02T18:58:08.713791Z",
"shell.execute_reply": "2025-09-02T18:58:08.713156Z"
},
"tags": [
"hide-output",
"scroll-output"
]
},
"outputs": [],
"source": [
"data = pd.read_csv('data/Pokemon.csv')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "d63e62da",
"metadata": {
"execution": {
"iopub.execute_input": "2025-09-02T18:58:08.715220Z",
"iopub.status.busy": "2025-09-02T18:58:08.715110Z",
"iopub.status.idle": "2025-09-02T18:58:08.723855Z",
"shell.execute_reply": "2025-09-02T18:58:08.723355Z"
},
"tags": [
"hide-output",
"scroll-output"
]
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" # | \n",
" Name | \n",
" Type 1 | \n",
" Type 2 | \n",
" Total | \n",
" HP | \n",
" Attack | \n",
" Defense | \n",
" Sp. Atk | \n",
" Sp. Def | \n",
" Speed | \n",
" Generation | \n",
" Legendary | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1 | \n",
" Bulbasaur | \n",
" Grass | \n",
" Poison | \n",
" 318 | \n",
" 45 | \n",
" 49 | \n",
" 49 | \n",
" 65 | \n",
" 65 | \n",
" 45 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 1 | \n",
" 2 | \n",
" Ivysaur | \n",
" Grass | \n",
" Poison | \n",
" 405 | \n",
" 60 | \n",
" 62 | \n",
" 63 | \n",
" 80 | \n",
" 80 | \n",
" 60 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 2 | \n",
" 3 | \n",
" Venusaur | \n",
" Grass | \n",
" Poison | \n",
" 525 | \n",
" 80 | \n",
" 82 | \n",
" 83 | \n",
" 100 | \n",
" 100 | \n",
" 80 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 3 | \n",
" 3 | \n",
" VenusaurMega Venusaur | \n",
" Grass | \n",
" Poison | \n",
" 625 | \n",
" 80 | \n",
" 100 | \n",
" 123 | \n",
" 122 | \n",
" 120 | \n",
" 80 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 4 | \n",
" 4 | \n",
" Charmander | \n",
" Fire | \n",
" NaN | \n",
" 309 | \n",
" 39 | \n",
" 52 | \n",
" 43 | \n",
" 60 | \n",
" 50 | \n",
" 65 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" 795 | \n",
" 719 | \n",
" Diancie | \n",
" Rock | \n",
" Fairy | \n",
" 600 | \n",
" 50 | \n",
" 100 | \n",
" 150 | \n",
" 100 | \n",
" 150 | \n",
" 50 | \n",
" 6 | \n",
" True | \n",
"
\n",
" \n",
" 796 | \n",
" 719 | \n",
" DiancieMega Diancie | \n",
" Rock | \n",
" Fairy | \n",
" 700 | \n",
" 50 | \n",
" 160 | \n",
" 110 | \n",
" 160 | \n",
" 110 | \n",
" 110 | \n",
" 6 | \n",
" True | \n",
"
\n",
" \n",
" 797 | \n",
" 720 | \n",
" HoopaHoopa Confined | \n",
" Psychic | \n",
" Ghost | \n",
" 600 | \n",
" 80 | \n",
" 110 | \n",
" 60 | \n",
" 150 | \n",
" 130 | \n",
" 70 | \n",
" 6 | \n",
" True | \n",
"
\n",
" \n",
" 798 | \n",
" 720 | \n",
" HoopaHoopa Unbound | \n",
" Psychic | \n",
" Dark | \n",
" 680 | \n",
" 80 | \n",
" 160 | \n",
" 60 | \n",
" 170 | \n",
" 130 | \n",
" 80 | \n",
" 6 | \n",
" True | \n",
"
\n",
" \n",
" 799 | \n",
" 721 | \n",
" Volcanion | \n",
" Fire | \n",
" Water | \n",
" 600 | \n",
" 80 | \n",
" 110 | \n",
" 120 | \n",
" 130 | \n",
" 90 | \n",
" 70 | \n",
" 6 | \n",
" True | \n",
"
\n",
" \n",
"
\n",
"
800 rows × 13 columns
\n",
"
"
],
"text/plain": [
" # Name Type 1 Type 2 Total HP Attack Defense \\\n",
"0 1 Bulbasaur Grass Poison 318 45 49 49 \n",
"1 2 Ivysaur Grass Poison 405 60 62 63 \n",
"2 3 Venusaur Grass Poison 525 80 82 83 \n",
"3 3 VenusaurMega Venusaur Grass Poison 625 80 100 123 \n",
"4 4 Charmander Fire NaN 309 39 52 43 \n",
".. ... ... ... ... ... .. ... ... \n",
"795 719 Diancie Rock Fairy 600 50 100 150 \n",
"796 719 DiancieMega Diancie Rock Fairy 700 50 160 110 \n",
"797 720 HoopaHoopa Confined Psychic Ghost 600 80 110 60 \n",
"798 720 HoopaHoopa Unbound Psychic Dark 680 80 160 60 \n",
"799 721 Volcanion Fire Water 600 80 110 120 \n",
"\n",
" Sp. Atk Sp. Def Speed Generation Legendary \n",
"0 65 65 45 1 False \n",
"1 80 80 60 1 False \n",
"2 100 100 80 1 False \n",
"3 122 120 80 1 False \n",
"4 60 50 65 1 False \n",
".. ... ... ... ... ... \n",
"795 100 150 50 6 True \n",
"796 160 110 110 6 True \n",
"797 150 130 70 6 True \n",
"798 170 130 80 6 True \n",
"799 130 90 70 6 True \n",
"\n",
"[800 rows x 13 columns]"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data"
]
},
{
"cell_type": "markdown",
"id": "3750caa3",
"metadata": {},
"source": [
"In the cell below, you can see the index is not consecutive (the leftmost column). We can reset it with the `reset_index()` method. By default, it adds the old index as a new column. If you do not want that, use the `drop=True` parameter."
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "e8281b6d",
"metadata": {
"execution": {
"iopub.execute_input": "2025-09-02T18:58:08.725135Z",
"iopub.status.busy": "2025-09-02T18:58:08.725028Z",
"iopub.status.idle": "2025-09-02T18:58:08.732397Z",
"shell.execute_reply": "2025-09-02T18:58:08.731963Z"
},
"tags": [
"hide-output",
"scroll-output"
]
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" # | \n",
" Name | \n",
" Type 1 | \n",
" Type 2 | \n",
" Total | \n",
" HP | \n",
" Attack | \n",
" Defense | \n",
" Sp. Atk | \n",
" Sp. Def | \n",
" Speed | \n",
" Generation | \n",
" Legendary | \n",
"
\n",
" \n",
" \n",
" \n",
" 50 | \n",
" 45 | \n",
" Vileplume | \n",
" Grass | \n",
" Poison | \n",
" 490 | \n",
" 75 | \n",
" 80 | \n",
" 85 | \n",
" 110 | \n",
" 90 | \n",
" 50 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 101 | \n",
" 94 | \n",
" Gengar | \n",
" Ghost | \n",
" Poison | \n",
" 500 | \n",
" 60 | \n",
" 65 | \n",
" 60 | \n",
" 130 | \n",
" 75 | \n",
" 110 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 197 | \n",
" 182 | \n",
" Bellossom | \n",
" Grass | \n",
" NaN | \n",
" 490 | \n",
" 75 | \n",
" 80 | \n",
" 95 | \n",
" 90 | \n",
" 100 | \n",
" 50 | \n",
" 2 | \n",
" False | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" # Name Type 1 Type 2 Total HP Attack Defense Sp. Atk \\\n",
"50 45 Vileplume Grass Poison 490 75 80 85 110 \n",
"101 94 Gengar Ghost Poison 500 60 65 60 130 \n",
"197 182 Bellossom Grass NaN 490 75 80 95 90 \n",
"\n",
" Sp. Def Speed Generation Legendary \n",
"50 90 50 1 False \n",
"101 75 110 1 False \n",
"197 100 50 2 False "
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"new_data = data.loc[(data['Type 1'] == 'Grass') | (data['Type 2'] == 'Poison')][0::10].loc[data['HP'] > 50].head(3)\n",
"new_data"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "e50ed042",
"metadata": {
"execution": {
"iopub.execute_input": "2025-09-02T18:58:08.733721Z",
"iopub.status.busy": "2025-09-02T18:58:08.733605Z",
"iopub.status.idle": "2025-09-02T18:58:08.738611Z",
"shell.execute_reply": "2025-09-02T18:58:08.738182Z"
},
"tags": [
"hide-output",
"scroll-output"
]
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" # | \n",
" Name | \n",
" Type 1 | \n",
" Type 2 | \n",
" Total | \n",
" HP | \n",
" Attack | \n",
" Defense | \n",
" Sp. Atk | \n",
" Sp. Def | \n",
" Speed | \n",
" Generation | \n",
" Legendary | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 45 | \n",
" Vileplume | \n",
" Grass | \n",
" Poison | \n",
" 490 | \n",
" 75 | \n",
" 80 | \n",
" 85 | \n",
" 110 | \n",
" 90 | \n",
" 50 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 1 | \n",
" 94 | \n",
" Gengar | \n",
" Ghost | \n",
" Poison | \n",
" 500 | \n",
" 60 | \n",
" 65 | \n",
" 60 | \n",
" 130 | \n",
" 75 | \n",
" 110 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 2 | \n",
" 182 | \n",
" Bellossom | \n",
" Grass | \n",
" NaN | \n",
" 490 | \n",
" 75 | \n",
" 80 | \n",
" 95 | \n",
" 90 | \n",
" 100 | \n",
" 50 | \n",
" 2 | \n",
" False | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" # Name Type 1 Type 2 Total HP Attack Defense Sp. Atk \\\n",
"0 45 Vileplume Grass Poison 490 75 80 85 110 \n",
"1 94 Gengar Ghost Poison 500 60 65 60 130 \n",
"2 182 Bellossom Grass NaN 490 75 80 95 90 \n",
"\n",
" Sp. Def Speed Generation Legendary \n",
"0 90 50 1 False \n",
"1 75 110 1 False \n",
"2 100 50 2 False "
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"new_data.reset_index(drop=True, inplace=True)\n",
"new_data"
]
}
],
"metadata": {
"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.12.3"
}
},
"nbformat": 4,
"nbformat_minor": 5
}