{ "cells": [ { "cell_type": "markdown", "id": "dbfef547", "metadata": {}, "source": [ "" ] }, { "cell_type": "code", "execution_count": 67, "id": "99298c2e", "metadata": {}, "outputs": [], "source": [ "# 패키지 로딩하기\n", "import pandas as pd\n", "import seaborn as sns\n", "import numpy as np # 수학, 선형대수학" ] }, { "cell_type": "code", "execution_count": 3, "id": "dbdc21a4", "metadata": {}, "outputs": [], "source": [ "# 데이터 읽어오기 : 예제 데이터 : diamonds\n", "# data = pd.read_excel(io = \"directory/filename.xlsx\",\n", "# sheet_name = index or \"sheet_name\",\n", "# header = 0)\n", "diamonds = sns.load_dataset(\"diamonds\")" ] }, { "cell_type": "markdown", "id": "dccfc100", "metadata": {}, "source": [ "### 데이터 전처리 : Data Pre-Processing" ] }, { "cell_type": "markdown", "id": "55236610", "metadata": {}, "source": [ "#### 1. 데이터 보기\n", "- 전체 보기 : data\n", "- 일부 보기 : head(), tail()" ] }, { "cell_type": "code", "execution_count": 4, "id": "eed2fb13", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
caratcutcolorclaritydepthtablepricexyz
00.23IdealESI261.555.03263.953.982.43
10.21PremiumESI159.861.03263.893.842.31
20.23GoodEVS156.965.03274.054.072.31
30.29PremiumIVS262.458.03344.204.232.63
40.31GoodJSI263.358.03354.344.352.75
.................................
539350.72IdealDSI160.857.027575.755.763.50
539360.72GoodDSI163.155.027575.695.753.61
539370.70Very GoodDSI162.860.027575.665.683.56
539380.86PremiumHSI261.058.027576.156.123.74
539390.75IdealDSI262.255.027575.835.873.64
\n", "

53940 rows × 10 columns

\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z\n", "0 0.23 Ideal E SI2 61.5 55.0 326 3.95 3.98 2.43\n", "1 0.21 Premium E SI1 59.8 61.0 326 3.89 3.84 2.31\n", "2 0.23 Good E VS1 56.9 65.0 327 4.05 4.07 2.31\n", "3 0.29 Premium I VS2 62.4 58.0 334 4.20 4.23 2.63\n", "4 0.31 Good J SI2 63.3 58.0 335 4.34 4.35 2.75\n", "... ... ... ... ... ... ... ... ... ... ...\n", "53935 0.72 Ideal D SI1 60.8 57.0 2757 5.75 5.76 3.50\n", "53936 0.72 Good D SI1 63.1 55.0 2757 5.69 5.75 3.61\n", "53937 0.70 Very Good D SI1 62.8 60.0 2757 5.66 5.68 3.56\n", "53938 0.86 Premium H SI2 61.0 58.0 2757 6.15 6.12 3.74\n", "53939 0.75 Ideal D SI2 62.2 55.0 2757 5.83 5.87 3.64\n", "\n", "[53940 rows x 10 columns]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# (1) 전체 보기 : data\n", "diamonds" ] }, { "cell_type": "code", "execution_count": 5, "id": "4213a957", "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", "
caratcutcolorclaritydepthtablepricexyz
00.23IdealESI261.555.03263.953.982.43
10.21PremiumESI159.861.03263.893.842.31
20.23GoodEVS156.965.03274.054.072.31
30.29PremiumIVS262.458.03344.204.232.63
40.31GoodJSI263.358.03354.344.352.75
\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z\n", "0 0.23 Ideal E SI2 61.5 55.0 326 3.95 3.98 2.43\n", "1 0.21 Premium E SI1 59.8 61.0 326 3.89 3.84 2.31\n", "2 0.23 Good E VS1 56.9 65.0 327 4.05 4.07 2.31\n", "3 0.29 Premium I VS2 62.4 58.0 334 4.20 4.23 2.63\n", "4 0.31 Good J SI2 63.3 58.0 335 4.34 4.35 2.75" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# (2) 일부 보기 : data.head(n = 5) or data.tail(n = 5)\n", "diamonds.head()" ] }, { "cell_type": "code", "execution_count": 6, "id": "2283c0b3", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
caratcutcolorclaritydepthtablepricexyz
00.23IdealESI261.555.03263.953.982.43
10.21PremiumESI159.861.03263.893.842.31
20.23GoodEVS156.965.03274.054.072.31
30.29PremiumIVS262.458.03344.204.232.63
40.31GoodJSI263.358.03354.344.352.75
50.24Very GoodJVVS262.857.03363.943.962.48
60.24Very GoodIVVS162.357.03363.953.982.47
70.26Very GoodHSI161.955.03374.074.112.53
80.22FairEVS265.161.03373.873.782.49
90.23Very GoodHVS159.461.03384.004.052.39
\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z\n", "0 0.23 Ideal E SI2 61.5 55.0 326 3.95 3.98 2.43\n", "1 0.21 Premium E SI1 59.8 61.0 326 3.89 3.84 2.31\n", "2 0.23 Good E VS1 56.9 65.0 327 4.05 4.07 2.31\n", "3 0.29 Premium I VS2 62.4 58.0 334 4.20 4.23 2.63\n", "4 0.31 Good J SI2 63.3 58.0 335 4.34 4.35 2.75\n", "5 0.24 Very Good J VVS2 62.8 57.0 336 3.94 3.96 2.48\n", "6 0.24 Very Good I VVS1 62.3 57.0 336 3.95 3.98 2.47\n", "7 0.26 Very Good H SI1 61.9 55.0 337 4.07 4.11 2.53\n", "8 0.22 Fair E VS2 65.1 61.0 337 3.87 3.78 2.49\n", "9 0.23 Very Good H VS1 59.4 61.0 338 4.00 4.05 2.39" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "diamonds.head(n = 10)" ] }, { "cell_type": "code", "execution_count": 7, "id": "11b3ce23", "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", "
caratcutcolorclaritydepthtablepricexyz
539350.72IdealDSI160.857.027575.755.763.50
539360.72GoodDSI163.155.027575.695.753.61
539370.70Very GoodDSI162.860.027575.665.683.56
539380.86PremiumHSI261.058.027576.156.123.74
539390.75IdealDSI262.255.027575.835.873.64
\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z\n", "53935 0.72 Ideal D SI1 60.8 57.0 2757 5.75 5.76 3.50\n", "53936 0.72 Good D SI1 63.1 55.0 2757 5.69 5.75 3.61\n", "53937 0.70 Very Good D SI1 62.8 60.0 2757 5.66 5.68 3.56\n", "53938 0.86 Premium H SI2 61.0 58.0 2757 6.15 6.12 3.74\n", "53939 0.75 Ideal D SI2 62.2 55.0 2757 5.83 5.87 3.64" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "diamonds.tail()" ] }, { "cell_type": "code", "execution_count": 8, "id": "63d6b57e", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
caratcutcolorclaritydepthtablepricexyz
539300.71PremiumESI160.555.027565.795.743.49
539310.71PremiumFSI159.862.027565.745.733.43
539320.70Very GoodEVS260.559.027575.715.763.47
539330.70Very GoodEVS261.259.027575.695.723.49
539340.72PremiumDSI162.759.027575.695.733.58
539350.72IdealDSI160.857.027575.755.763.50
539360.72GoodDSI163.155.027575.695.753.61
539370.70Very GoodDSI162.860.027575.665.683.56
539380.86PremiumHSI261.058.027576.156.123.74
539390.75IdealDSI262.255.027575.835.873.64
\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z\n", "53930 0.71 Premium E SI1 60.5 55.0 2756 5.79 5.74 3.49\n", "53931 0.71 Premium F SI1 59.8 62.0 2756 5.74 5.73 3.43\n", "53932 0.70 Very Good E VS2 60.5 59.0 2757 5.71 5.76 3.47\n", "53933 0.70 Very Good E VS2 61.2 59.0 2757 5.69 5.72 3.49\n", "53934 0.72 Premium D SI1 62.7 59.0 2757 5.69 5.73 3.58\n", "53935 0.72 Ideal D SI1 60.8 57.0 2757 5.75 5.76 3.50\n", "53936 0.72 Good D SI1 63.1 55.0 2757 5.69 5.75 3.61\n", "53937 0.70 Very Good D SI1 62.8 60.0 2757 5.66 5.68 3.56\n", "53938 0.86 Premium H SI2 61.0 58.0 2757 6.15 6.12 3.74\n", "53939 0.75 Ideal D SI2 62.2 55.0 2757 5.83 5.87 3.64" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "diamonds.tail(n = 10)" ] }, { "cell_type": "markdown", "id": "d27a64eb", "metadata": {}, "source": [ "#### 2. 데이터의 정보(Information)" ] }, { "cell_type": "code", "execution_count": 9, "id": "14678143", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 53940 entries, 0 to 53939\n", "Data columns (total 10 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 carat 53940 non-null float64 \n", " 1 cut 53940 non-null category\n", " 2 color 53940 non-null category\n", " 3 clarity 53940 non-null category\n", " 4 depth 53940 non-null float64 \n", " 5 table 53940 non-null float64 \n", " 6 price 53940 non-null int64 \n", " 7 x 53940 non-null float64 \n", " 8 y 53940 non-null float64 \n", " 9 z 53940 non-null float64 \n", "dtypes: category(3), float64(6), int64(1)\n", "memory usage: 3.0 MB\n" ] } ], "source": [ "# data.info()\n", "diamonds.info()" ] }, { "cell_type": "code", "execution_count": 10, "id": "e9a01b04", "metadata": {}, "outputs": [], "source": [ "# \n", "# DataFrame : 행과 열로 구성됨, 2차원 구조" ] }, { "cell_type": "code", "execution_count": 11, "id": "9b1b420f", "metadata": {}, "outputs": [], "source": [ "# RangeIndex: 53940 entries, 0 to 53939\n", "# Index : 행\n", "# 행 : 0 ~ 53939 : 53,940개" ] }, { "cell_type": "code", "execution_count": 12, "id": "4098f9e2", "metadata": {}, "outputs": [], "source": [ "# Data columns (total 10 columns)\n", "# 열 \n", "# 열의 개수 : 10개" ] }, { "cell_type": "code", "execution_count": 14, "id": "4a9982d6", "metadata": {}, "outputs": [], "source": [ "# Null : Missing Value : 값이 없는 것 : 결측치, 결측값\n", "# Non-Null : 값이 있는 것\n", "\n", "# 참고 : Missing Value 탐지, 처리\n", "# 처리 : 삭제(행, 열), 대체(Imputation) : 다른 값으로 바꾸는 것" ] }, { "cell_type": "markdown", "id": "c4caa359", "metadata": {}, "source": [ "#### 3. 데이터의 속성" ] }, { "cell_type": "code", "execution_count": 19, "id": "e291f1d3", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "53940" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# (1) 데이터의 행과 열, 차원(Dimension)\n", "# data.shape\n", "diamonds.shape" ] }, { "cell_type": "code", "execution_count": 16, "id": "39142f92", "metadata": {}, "outputs": [], "source": [ "# (53940, 10)\n", "# 53490 : 행의 개수\n", "# 10 : 열의 개수\n", "# 숫자가 2개 출력 : 2차원" ] }, { "cell_type": "code", "execution_count": 20, "id": "538c22ba", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['carat', 'cut', 'color', 'clarity', 'depth', 'table', 'price', 'x', 'y',\n", " 'z'],\n", " dtype='object')" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# (2) 열의 이름 : data.columns\n", "diamonds.columns" ] }, { "cell_type": "code", "execution_count": 21, "id": "9f31c4fd", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "carat float64\n", "cut category\n", "color category\n", "clarity category\n", "depth float64\n", "table float64\n", "price int64\n", "x float64\n", "y float64\n", "z float64\n", "dtype: object" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# (3) 데이터의 유형 : data.dtypes\n", "diamonds.dtypes" ] }, { "cell_type": "markdown", "id": "ef4e108e", "metadata": {}, "source": [ "#### 4. 슬라이싱(Slicing)\n", "- 열\n", "- 행\n", "- 행과 열" ] }, { "cell_type": "code", "execution_count": 22, "id": "e43cead8", "metadata": {}, "outputs": [], "source": [ "# data.loc[행, 열]" ] }, { "cell_type": "code", "execution_count": 23, "id": "05403707", "metadata": {}, "outputs": [], "source": [ "# (1) 열" ] }, { "cell_type": "code", "execution_count": 24, "id": "fb766569", "metadata": {}, "outputs": [], "source": [ "# i. 하나의 열 : data[\"열의 이름\"] or data.열의이름" ] }, { "cell_type": "code", "execution_count": 25, "id": "f0506d85", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 0.23\n", "1 0.21\n", "2 0.23\n", "3 0.29\n", "4 0.31\n", " ... \n", "53935 0.72\n", "53936 0.72\n", "53937 0.70\n", "53938 0.86\n", "53939 0.75\n", "Name: carat, Length: 53940, dtype: float64" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "diamonds[\"carat\"]" ] }, { "cell_type": "code", "execution_count": 26, "id": "6612a98e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 0.23\n", "1 0.21\n", "2 0.23\n", "3 0.29\n", "4 0.31\n", " ... \n", "53935 0.72\n", "53936 0.72\n", "53937 0.70\n", "53938 0.86\n", "53939 0.75\n", "Name: carat, Length: 53940, dtype: float64" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "diamonds.carat" ] }, { "cell_type": "code", "execution_count": 27, "id": "f90e9358", "metadata": {}, "outputs": [], "source": [ "# ii. 2개 이상의 열\n", "# data[[\"열의이름1\", \"열의이름2\", ...]]\n", "# data.loc[: , [\"열의이름1\", \"열의이름2\", ...]]" ] }, { "cell_type": "code", "execution_count": 28, "id": "4e8e0a6e", "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", "
caratpricex
00.233263.95
10.213263.89
20.233274.05
30.293344.20
40.313354.34
............
539350.7227575.75
539360.7227575.69
539370.7027575.66
539380.8627576.15
539390.7527575.83
\n", "

53940 rows × 3 columns

\n", "
" ], "text/plain": [ " carat price x\n", "0 0.23 326 3.95\n", "1 0.21 326 3.89\n", "2 0.23 327 4.05\n", "3 0.29 334 4.20\n", "4 0.31 335 4.34\n", "... ... ... ...\n", "53935 0.72 2757 5.75\n", "53936 0.72 2757 5.69\n", "53937 0.70 2757 5.66\n", "53938 0.86 2757 6.15\n", "53939 0.75 2757 5.83\n", "\n", "[53940 rows x 3 columns]" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# \"carat\", \"price\", \"x\"\n", "diamonds[[\"carat\", \"price\", \"x\"]]" ] }, { "cell_type": "code", "execution_count": 29, "id": "7536f13a", "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", "
caratpricex
00.233263.95
10.213263.89
20.233274.05
30.293344.20
40.313354.34
............
539350.7227575.75
539360.7227575.69
539370.7027575.66
539380.8627576.15
539390.7527575.83
\n", "

53940 rows × 3 columns

\n", "
" ], "text/plain": [ " carat price x\n", "0 0.23 326 3.95\n", "1 0.21 326 3.89\n", "2 0.23 327 4.05\n", "3 0.29 334 4.20\n", "4 0.31 335 4.34\n", "... ... ... ...\n", "53935 0.72 2757 5.75\n", "53936 0.72 2757 5.69\n", "53937 0.70 2757 5.66\n", "53938 0.86 2757 6.15\n", "53939 0.75 2757 5.83\n", "\n", "[53940 rows x 3 columns]" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "diamonds.loc[:, [\"carat\", \"price\", \"x\"]]" ] }, { "cell_type": "code", "execution_count": 30, "id": "b93e9b2e", "metadata": {}, "outputs": [], "source": [ "# iii. 2개 이상의 열 : 열의 이름에 규칙(패턴)이 있는 경우\n", "# data.filter(regex = \"pattern\")\n", "\n", "# 참고 \n", "# regex : regular expression : 정규 표현식" ] }, { "cell_type": "code", "execution_count": 31, "id": "dfaa5682", "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", "
caratcutcolorclarityprice
00.23IdealESI2326
10.21PremiumESI1326
20.23GoodEVS1327
30.29PremiumIVS2334
40.31GoodJSI2335
..................
539350.72IdealDSI12757
539360.72GoodDSI12757
539370.70Very GoodDSI12757
539380.86PremiumHSI22757
539390.75IdealDSI22757
\n", "

53940 rows × 5 columns

\n", "
" ], "text/plain": [ " carat cut color clarity price\n", "0 0.23 Ideal E SI2 326\n", "1 0.21 Premium E SI1 326\n", "2 0.23 Good E VS1 327\n", "3 0.29 Premium I VS2 334\n", "4 0.31 Good J SI2 335\n", "... ... ... ... ... ...\n", "53935 0.72 Ideal D SI1 2757\n", "53936 0.72 Good D SI1 2757\n", "53937 0.70 Very Good D SI1 2757\n", "53938 0.86 Premium H SI2 2757\n", "53939 0.75 Ideal D SI2 2757\n", "\n", "[53940 rows x 5 columns]" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 포함 : 특정 문자를 포함하고 있는 열\n", "# 열의 이름 중에서 \"c\"라는 문자를 포함하고 있는 열\n", "diamonds.filter(regex = \"c\")" ] }, { "cell_type": "code", "execution_count": 32, "id": "8b0f0972", "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", "
price
0326
1326
2327
3334
4335
......
539352757
539362757
539372757
539382757
539392757
\n", "

53940 rows × 1 columns

\n", "
" ], "text/plain": [ " price\n", "0 326\n", "1 326\n", "2 327\n", "3 334\n", "4 335\n", "... ...\n", "53935 2757\n", "53936 2757\n", "53937 2757\n", "53938 2757\n", "53939 2757\n", "\n", "[53940 rows x 1 columns]" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 열의 이름 중에 \"ce\" 문자를 포함하는 열\n", "diamonds.filter(regex = \"ce\")" ] }, { "cell_type": "code", "execution_count": 33, "id": "f7ebb21f", "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", " \n", " \n", " \n", "
caratcutcolorclaritydepthtableprice
00.23IdealESI261.555.0326
10.21PremiumESI159.861.0326
20.23GoodEVS156.965.0327
30.29PremiumIVS262.458.0334
40.31GoodJSI263.358.0335
........................
539350.72IdealDSI160.857.02757
539360.72GoodDSI163.155.02757
539370.70Very GoodDSI162.860.02757
539380.86PremiumHSI261.058.02757
539390.75IdealDSI262.255.02757
\n", "

53940 rows × 7 columns

\n", "
" ], "text/plain": [ " carat cut color clarity depth table price\n", "0 0.23 Ideal E SI2 61.5 55.0 326\n", "1 0.21 Premium E SI1 59.8 61.0 326\n", "2 0.23 Good E VS1 56.9 65.0 327\n", "3 0.29 Premium I VS2 62.4 58.0 334\n", "4 0.31 Good J SI2 63.3 58.0 335\n", "... ... ... ... ... ... ... ...\n", "53935 0.72 Ideal D SI1 60.8 57.0 2757\n", "53936 0.72 Good D SI1 63.1 55.0 2757\n", "53937 0.70 Very Good D SI1 62.8 60.0 2757\n", "53938 0.86 Premium H SI2 61.0 58.0 2757\n", "53939 0.75 Ideal D SI2 62.2 55.0 2757\n", "\n", "[53940 rows x 7 columns]" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 열의 이름 중에 \"c\" 또는 \"e\"라는 문자를 포함하는 열\n", "diamonds.filter(regex = \"[ce]\")" ] }, { "cell_type": "code", "execution_count": 34, "id": "98ae83af", "metadata": {}, "outputs": [], "source": [ "# 시작 : 특정 문자로 시작하는 열의 이름\n", "# data.filter(regex = \"^pattern\")" ] }, { "cell_type": "code", "execution_count": 35, "id": "4e740c74", "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", "
caratcutcolorclarity
00.23IdealESI2
10.21PremiumESI1
20.23GoodEVS1
30.29PremiumIVS2
40.31GoodJSI2
...............
539350.72IdealDSI1
539360.72GoodDSI1
539370.70Very GoodDSI1
539380.86PremiumHSI2
539390.75IdealDSI2
\n", "

53940 rows × 4 columns

\n", "
" ], "text/plain": [ " carat cut color clarity\n", "0 0.23 Ideal E SI2\n", "1 0.21 Premium E SI1\n", "2 0.23 Good E VS1\n", "3 0.29 Premium I VS2\n", "4 0.31 Good J SI2\n", "... ... ... ... ...\n", "53935 0.72 Ideal D SI1\n", "53936 0.72 Good D SI1\n", "53937 0.70 Very Good D SI1\n", "53938 0.86 Premium H SI2\n", "53939 0.75 Ideal D SI2\n", "\n", "[53940 rows x 4 columns]" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# \"c\"라는 문자로 시작하는 열\n", "diamonds.filter(regex = \"^c\")" ] }, { "cell_type": "code", "execution_count": 36, "id": "2a1e6a14", "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", "
price
0326
1326
2327
3334
4335
......
539352757
539362757
539372757
539382757
539392757
\n", "

53940 rows × 1 columns

\n", "
" ], "text/plain": [ " price\n", "0 326\n", "1 326\n", "2 327\n", "3 334\n", "4 335\n", "... ...\n", "53935 2757\n", "53936 2757\n", "53937 2757\n", "53938 2757\n", "53939 2757\n", "\n", "[53940 rows x 1 columns]" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# \"pr\"로 시작하는 열\n", "diamonds.filter(regex = \"^pr\")" ] }, { "cell_type": "code", "execution_count": 37, "id": "c461b72a", "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", "
caratcutcolorclarityprice
00.23IdealESI2326
10.21PremiumESI1326
20.23GoodEVS1327
30.29PremiumIVS2334
40.31GoodJSI2335
..................
539350.72IdealDSI12757
539360.72GoodDSI12757
539370.70Very GoodDSI12757
539380.86PremiumHSI22757
539390.75IdealDSI22757
\n", "

53940 rows × 5 columns

\n", "
" ], "text/plain": [ " carat cut color clarity price\n", "0 0.23 Ideal E SI2 326\n", "1 0.21 Premium E SI1 326\n", "2 0.23 Good E VS1 327\n", "3 0.29 Premium I VS2 334\n", "4 0.31 Good J SI2 335\n", "... ... ... ... ... ...\n", "53935 0.72 Ideal D SI1 2757\n", "53936 0.72 Good D SI1 2757\n", "53937 0.70 Very Good D SI1 2757\n", "53938 0.86 Premium H SI2 2757\n", "53939 0.75 Ideal D SI2 2757\n", "\n", "[53940 rows x 5 columns]" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# \"c\" 또는 \"p\"로 시작하는 열\n", "diamonds.filter(regex = \"^[cp]\")" ] }, { "cell_type": "code", "execution_count": 38, "id": "507b5ed9", "metadata": {}, "outputs": [], "source": [ "# 특정한 문자로 끝나는 열 \n", "# data.filter(regex = \"pattern$\")" ] }, { "cell_type": "code", "execution_count": 39, "id": "c8f34c82", "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", "
tableprice
055.0326
161.0326
265.0327
358.0334
458.0335
.........
5393557.02757
5393655.02757
5393760.02757
5393858.02757
5393955.02757
\n", "

53940 rows × 2 columns

\n", "
" ], "text/plain": [ " table price\n", "0 55.0 326\n", "1 61.0 326\n", "2 65.0 327\n", "3 58.0 334\n", "4 58.0 335\n", "... ... ...\n", "53935 57.0 2757\n", "53936 55.0 2757\n", "53937 60.0 2757\n", "53938 58.0 2757\n", "53939 55.0 2757\n", "\n", "[53940 rows x 2 columns]" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# \"e\"로 끝나는 열\n", "diamonds.filter(regex = \"e$\")" ] }, { "cell_type": "code", "execution_count": 40, "id": "7902983a", "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", "
table
055.0
161.0
265.0
358.0
458.0
......
5393557.0
5393655.0
5393760.0
5393858.0
5393955.0
\n", "

53940 rows × 1 columns

\n", "
" ], "text/plain": [ " table\n", "0 55.0\n", "1 61.0\n", "2 65.0\n", "3 58.0\n", "4 58.0\n", "... ...\n", "53935 57.0\n", "53936 55.0\n", "53937 60.0\n", "53938 58.0\n", "53939 55.0\n", "\n", "[53940 rows x 1 columns]" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# \"le\"로 끝나는 열\n", "diamonds.filter(regex = \"le$\")" ] }, { "cell_type": "code", "execution_count": 41, "id": "53804f28", "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", "
caratcuttableprice
00.23Ideal55.0326
10.21Premium61.0326
20.23Good65.0327
30.29Premium58.0334
40.31Good58.0335
...............
539350.72Ideal57.02757
539360.72Good55.02757
539370.70Very Good60.02757
539380.86Premium58.02757
539390.75Ideal55.02757
\n", "

53940 rows × 4 columns

\n", "
" ], "text/plain": [ " carat cut table price\n", "0 0.23 Ideal 55.0 326\n", "1 0.21 Premium 61.0 326\n", "2 0.23 Good 65.0 327\n", "3 0.29 Premium 58.0 334\n", "4 0.31 Good 58.0 335\n", "... ... ... ... ...\n", "53935 0.72 Ideal 57.0 2757\n", "53936 0.72 Good 55.0 2757\n", "53937 0.70 Very Good 60.0 2757\n", "53938 0.86 Premium 58.0 2757\n", "53939 0.75 Ideal 55.0 2757\n", "\n", "[53940 rows x 4 columns]" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# \"t\" 또는 \"e\"로 끝나는 열\n", "diamonds.filter(regex = \"[te]$\")" ] }, { "cell_type": "code", "execution_count": 43, "id": "0ad7277c", "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", "
cutcolorclaritydepthtableprice
0IdealESI261.555.0326
1PremiumESI159.861.0326
2GoodEVS156.965.0327
3PremiumIVS262.458.0334
4GoodJSI263.358.0335
.....................
53935IdealDSI160.857.02757
53936GoodDSI163.155.02757
53937Very GoodDSI162.860.02757
53938PremiumHSI261.058.02757
53939IdealDSI262.255.02757
\n", "

53940 rows × 6 columns

\n", "
" ], "text/plain": [ " cut color clarity depth table price\n", "0 Ideal E SI2 61.5 55.0 326\n", "1 Premium E SI1 59.8 61.0 326\n", "2 Good E VS1 56.9 65.0 327\n", "3 Premium I VS2 62.4 58.0 334\n", "4 Good J SI2 63.3 58.0 335\n", "... ... ... ... ... ... ...\n", "53935 Ideal D SI1 60.8 57.0 2757\n", "53936 Good D SI1 63.1 55.0 2757\n", "53937 Very Good D SI1 62.8 60.0 2757\n", "53938 Premium H SI2 61.0 58.0 2757\n", "53939 Ideal D SI2 62.2 55.0 2757\n", "\n", "[53940 rows x 6 columns]" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 연달아 있는 열을 슬라이싱\n", "# \"cut\" ~ \"price\"\n", "# data.loc[: , \"start\":\"end\"]\n", "diamonds.loc[:, \"cut\":\"price\"]" ] }, { "cell_type": "code", "execution_count": 44, "id": "737426e5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 Ideal\n", "1 Premium\n", "2 Good\n", "3 Premium\n", "4 Good\n", " ... \n", "53935 Ideal\n", "53936 Good\n", "53937 Very Good\n", "53938 Premium\n", "53939 Ideal\n", "Name: cut, Length: 53940, dtype: category\n", "Categories (5, object): ['Ideal', 'Premium', 'Very Good', 'Good', 'Fair']" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 참고 : data.iloc[: , index]\n", "diamonds.iloc[:, 1]" ] }, { "cell_type": "code", "execution_count": 45, "id": "1d7f070d", "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", "
caratcutx
00.23Ideal3.95
10.21Premium3.89
20.23Good4.05
30.29Premium4.20
40.31Good4.34
............
539350.72Ideal5.75
539360.72Good5.69
539370.70Very Good5.66
539380.86Premium6.15
539390.75Ideal5.83
\n", "

53940 rows × 3 columns

\n", "
" ], "text/plain": [ " carat cut x\n", "0 0.23 Ideal 3.95\n", "1 0.21 Premium 3.89\n", "2 0.23 Good 4.05\n", "3 0.29 Premium 4.20\n", "4 0.31 Good 4.34\n", "... ... ... ...\n", "53935 0.72 Ideal 5.75\n", "53936 0.72 Good 5.69\n", "53937 0.70 Very Good 5.66\n", "53938 0.86 Premium 6.15\n", "53939 0.75 Ideal 5.83\n", "\n", "[53940 rows x 3 columns]" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "diamonds.iloc[:, [0, 1, 7]]" ] }, { "cell_type": "code", "execution_count": 46, "id": "9d73b309", "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", "
cutcolorclarity
0IdealESI2
1PremiumESI1
2GoodEVS1
3PremiumIVS2
4GoodJSI2
............
53935IdealDSI1
53936GoodDSI1
53937Very GoodDSI1
53938PremiumHSI2
53939IdealDSI2
\n", "

53940 rows × 3 columns

\n", "
" ], "text/plain": [ " cut color clarity\n", "0 Ideal E SI2\n", "1 Premium E SI1\n", "2 Good E VS1\n", "3 Premium I VS2\n", "4 Good J SI2\n", "... ... ... ...\n", "53935 Ideal D SI1\n", "53936 Good D SI1\n", "53937 Very Good D SI1\n", "53938 Premium H SI2\n", "53939 Ideal D SI2\n", "\n", "[53940 rows x 3 columns]" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "diamonds.iloc[:, 1:4]" ] }, { "cell_type": "code", "execution_count": 47, "id": "e2e993e2", "metadata": {}, "outputs": [], "source": [ "# (2) 행\n", "# data.loc[조건, :]" ] }, { "cell_type": "code", "execution_count": 48, "id": "20971079", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
caratcutcolorclaritydepthtablepricexyz
00.23IdealESI261.555.03263.953.982.43
10.21PremiumESI159.861.03263.893.842.31
20.23GoodEVS156.965.03274.054.072.31
30.29PremiumIVS262.458.03344.204.232.63
40.31GoodJSI263.358.03354.344.352.75
.................................
539350.72IdealDSI160.857.027575.755.763.50
539360.72GoodDSI163.155.027575.695.753.61
539370.70Very GoodDSI162.860.027575.665.683.56
539380.86PremiumHSI261.058.027576.156.123.74
539390.75IdealDSI262.255.027575.835.873.64
\n", "

52051 rows × 10 columns

\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z\n", "0 0.23 Ideal E SI2 61.5 55.0 326 3.95 3.98 2.43\n", "1 0.21 Premium E SI1 59.8 61.0 326 3.89 3.84 2.31\n", "2 0.23 Good E VS1 56.9 65.0 327 4.05 4.07 2.31\n", "3 0.29 Premium I VS2 62.4 58.0 334 4.20 4.23 2.63\n", "4 0.31 Good J SI2 63.3 58.0 335 4.34 4.35 2.75\n", "... ... ... ... ... ... ... ... ... ... ...\n", "53935 0.72 Ideal D SI1 60.8 57.0 2757 5.75 5.76 3.50\n", "53936 0.72 Good D SI1 63.1 55.0 2757 5.69 5.75 3.61\n", "53937 0.70 Very Good D SI1 62.8 60.0 2757 5.66 5.68 3.56\n", "53938 0.86 Premium H SI2 61.0 58.0 2757 6.15 6.12 3.74\n", "53939 0.75 Ideal D SI2 62.2 55.0 2757 5.83 5.87 3.64\n", "\n", "[52051 rows x 10 columns]" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# carat이 2이하인 데이터\n", "diamonds.loc[diamonds[\"carat\"] <= 2, :]" ] }, { "cell_type": "code", "execution_count": 50, "id": "b1119e30", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
caratcutcolorclaritydepthtablepricexyz
50.24Very GoodJVVS262.857.03363.943.962.48
60.24Very GoodIVVS162.357.03363.953.982.47
70.26Very GoodHSI161.955.03374.074.112.53
90.23Very GoodHVS159.461.03384.004.052.39
190.30Very GoodJSI162.759.03514.214.272.66
.................................
539210.70Very GoodEVS262.860.027555.595.653.53
539220.70Very GoodDVS163.159.027555.675.583.55
539320.70Very GoodEVS260.559.027575.715.763.47
539330.70Very GoodEVS261.259.027575.695.723.49
539370.70Very GoodDSI162.860.027575.665.683.56
\n", "

12082 rows × 10 columns

\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z\n", "5 0.24 Very Good J VVS2 62.8 57.0 336 3.94 3.96 2.48\n", "6 0.24 Very Good I VVS1 62.3 57.0 336 3.95 3.98 2.47\n", "7 0.26 Very Good H SI1 61.9 55.0 337 4.07 4.11 2.53\n", "9 0.23 Very Good H VS1 59.4 61.0 338 4.00 4.05 2.39\n", "19 0.30 Very Good J SI1 62.7 59.0 351 4.21 4.27 2.66\n", "... ... ... ... ... ... ... ... ... ... ...\n", "53921 0.70 Very Good E VS2 62.8 60.0 2755 5.59 5.65 3.53\n", "53922 0.70 Very Good D VS1 63.1 59.0 2755 5.67 5.58 3.55\n", "53932 0.70 Very Good E VS2 60.5 59.0 2757 5.71 5.76 3.47\n", "53933 0.70 Very Good E VS2 61.2 59.0 2757 5.69 5.72 3.49\n", "53937 0.70 Very Good D SI1 62.8 60.0 2757 5.66 5.68 3.56\n", "\n", "[12082 rows x 10 columns]" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# cut이 \"Very Good\"인 데이터\n", "diamonds.loc[diamonds.cut == \"Very Good\", :]" ] }, { "cell_type": "code", "execution_count": 51, "id": "185cebe9", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
caratcutcolorclaritydepthtablepricexyz
50.24Very GoodJVVS262.857.03363.943.962.48
60.24Very GoodIVVS162.357.03363.953.982.47
70.26Very GoodHSI161.955.03374.074.112.53
90.23Very GoodHVS159.461.03384.004.052.39
190.30Very GoodJSI162.759.03514.214.272.66
.................................
539210.70Very GoodEVS262.860.027555.595.653.53
539220.70Very GoodDVS163.159.027555.675.583.55
539320.70Very GoodEVS260.559.027575.715.763.47
539330.70Very GoodEVS261.259.027575.695.723.49
539370.70Very GoodDSI162.860.027575.665.683.56
\n", "

11694 rows × 10 columns

\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z\n", "5 0.24 Very Good J VVS2 62.8 57.0 336 3.94 3.96 2.48\n", "6 0.24 Very Good I VVS1 62.3 57.0 336 3.95 3.98 2.47\n", "7 0.26 Very Good H SI1 61.9 55.0 337 4.07 4.11 2.53\n", "9 0.23 Very Good H VS1 59.4 61.0 338 4.00 4.05 2.39\n", "19 0.30 Very Good J SI1 62.7 59.0 351 4.21 4.27 2.66\n", "... ... ... ... ... ... ... ... ... ... ...\n", "53921 0.70 Very Good E VS2 62.8 60.0 2755 5.59 5.65 3.53\n", "53922 0.70 Very Good D VS1 63.1 59.0 2755 5.67 5.58 3.55\n", "53932 0.70 Very Good E VS2 60.5 59.0 2757 5.71 5.76 3.47\n", "53933 0.70 Very Good E VS2 61.2 59.0 2757 5.69 5.72 3.49\n", "53937 0.70 Very Good D SI1 62.8 60.0 2757 5.66 5.68 3.56\n", "\n", "[11694 rows x 10 columns]" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# carat이 2이하이고, cut은 \"Very Good\"인 데이터\n", "diamonds.loc[(diamonds.carat <= 2) & (diamonds.cut == \"Very Good\"), :]" ] }, { "cell_type": "code", "execution_count": 52, "id": "f64edb58", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
caratcutcolorclaritydepthtablepricexyz
00.23IdealESI261.555.03263.953.982.43
10.21PremiumESI159.861.03263.893.842.31
20.23GoodEVS156.965.03274.054.072.31
30.29PremiumIVS262.458.03344.204.232.63
40.31GoodJSI263.358.03354.344.352.75
.................................
539350.72IdealDSI160.857.027575.755.763.50
539360.72GoodDSI163.155.027575.695.753.61
539370.70Very GoodDSI162.860.027575.665.683.56
539380.86PremiumHSI261.058.027576.156.123.74
539390.75IdealDSI262.255.027575.835.873.64
\n", "

52439 rows × 10 columns

\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z\n", "0 0.23 Ideal E SI2 61.5 55.0 326 3.95 3.98 2.43\n", "1 0.21 Premium E SI1 59.8 61.0 326 3.89 3.84 2.31\n", "2 0.23 Good E VS1 56.9 65.0 327 4.05 4.07 2.31\n", "3 0.29 Premium I VS2 62.4 58.0 334 4.20 4.23 2.63\n", "4 0.31 Good J SI2 63.3 58.0 335 4.34 4.35 2.75\n", "... ... ... ... ... ... ... ... ... ... ...\n", "53935 0.72 Ideal D SI1 60.8 57.0 2757 5.75 5.76 3.50\n", "53936 0.72 Good D SI1 63.1 55.0 2757 5.69 5.75 3.61\n", "53937 0.70 Very Good D SI1 62.8 60.0 2757 5.66 5.68 3.56\n", "53938 0.86 Premium H SI2 61.0 58.0 2757 6.15 6.12 3.74\n", "53939 0.75 Ideal D SI2 62.2 55.0 2757 5.83 5.87 3.64\n", "\n", "[52439 rows x 10 columns]" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# carat이 2이하이거나 또는 cut이 \"Very Good\"인 데이터\n", "diamonds.loc[(diamonds.carat <= 2) | (diamonds.cut == \"Very Good\"), :]" ] }, { "cell_type": "code", "execution_count": 55, "id": "5e3ae42e", "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", "
xyz
03.953.982.43
13.893.842.31
24.054.072.31
34.204.232.63
44.344.352.75
............
539355.755.763.50
539365.695.753.61
539375.665.683.56
539386.156.123.74
539395.835.873.64
\n", "

52439 rows × 3 columns

\n", "
" ], "text/plain": [ " x y z\n", "0 3.95 3.98 2.43\n", "1 3.89 3.84 2.31\n", "2 4.05 4.07 2.31\n", "3 4.20 4.23 2.63\n", "4 4.34 4.35 2.75\n", "... ... ... ...\n", "53935 5.75 5.76 3.50\n", "53936 5.69 5.75 3.61\n", "53937 5.66 5.68 3.56\n", "53938 6.15 6.12 3.74\n", "53939 5.83 5.87 3.64\n", "\n", "[52439 rows x 3 columns]" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# (3) 행과 열\n", "# carat이 2이하이거나 또는 cut이 \"Very Good\"인 데이터의 \"x\", \"y\", \"z\"\n", "diamonds.loc[(diamonds.carat <= 2) | (diamonds.cut == \"Very Good\"), \"x\":\"z\"]" ] }, { "cell_type": "markdown", "id": "983b72ce", "metadata": {}, "source": [ "#### 5. 새로운 열(변수) 만들기\n", "- 연산\n", "- 변환 : 로그, 루트, 역수 : Cox-Box Transformation\n", "- 범주 줄이기\n", "- 범주화" ] }, { "cell_type": "code", "execution_count": 56, "id": "035f4543", "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", "
caratcutcolorclaritydepthtablepricexyzprice_per_carat
00.23IdealESI261.555.03263.953.982.431417.391304
10.21PremiumESI159.861.03263.893.842.311552.380952
20.23GoodEVS156.965.03274.054.072.311421.739130
30.29PremiumIVS262.458.03344.204.232.631151.724138
40.31GoodJSI263.358.03354.344.352.751080.645161
\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z \\\n", "0 0.23 Ideal E SI2 61.5 55.0 326 3.95 3.98 2.43 \n", "1 0.21 Premium E SI1 59.8 61.0 326 3.89 3.84 2.31 \n", "2 0.23 Good E VS1 56.9 65.0 327 4.05 4.07 2.31 \n", "3 0.29 Premium I VS2 62.4 58.0 334 4.20 4.23 2.63 \n", "4 0.31 Good J SI2 63.3 58.0 335 4.34 4.35 2.75 \n", "\n", " price_per_carat \n", "0 1417.391304 \n", "1 1552.380952 \n", "2 1421.739130 \n", "3 1151.724138 \n", "4 1080.645161 " ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# (1) 연산 : price_per_carat : price/carat\n", "# data[\"새로운 열의 이름\"] = 연산\n", "diamonds[\"price_per_carat\"] = diamonds.price/diamonds.carat\n", "diamonds.head()" ] }, { "cell_type": "code", "execution_count": 66, "id": "9f2536dc", "metadata": {}, "outputs": [], "source": [ "# (2) Box-Cox 변환(Transformation) : 로그, 루트, 역수\n", "# 참고\n", "# 변환을 하는 이유는 주로 대칭을 확보하기 위해서" ] }, { "cell_type": "code", "execution_count": 68, "id": "b7c7754a", "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", "
caratcutcolorclaritydepthtablepricexyzprice_per_caratprice_log10
00.23IdealESI261.555.03263.953.982.431417.3913042.513218
10.21PremiumESI159.861.03263.893.842.311552.3809522.513218
20.23GoodEVS156.965.03274.054.072.311421.7391302.514548
30.29PremiumIVS262.458.03344.204.232.631151.7241382.523746
40.31GoodJSI263.358.03354.344.352.751080.6451612.525045
\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z \\\n", "0 0.23 Ideal E SI2 61.5 55.0 326 3.95 3.98 2.43 \n", "1 0.21 Premium E SI1 59.8 61.0 326 3.89 3.84 2.31 \n", "2 0.23 Good E VS1 56.9 65.0 327 4.05 4.07 2.31 \n", "3 0.29 Premium I VS2 62.4 58.0 334 4.20 4.23 2.63 \n", "4 0.31 Good J SI2 63.3 58.0 335 4.34 4.35 2.75 \n", "\n", " price_per_carat price_log10 \n", "0 1417.391304 2.513218 \n", "1 1552.380952 2.513218 \n", "2 1421.739130 2.514548 \n", "3 1151.724138 2.523746 \n", "4 1080.645161 2.525045 " ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# i. 로그(Log) 변환\n", "# data[\"새로운 열의 이름\"] = numpy.log10(data[\"열의 이름\"])\n", "diamonds[\"price_log10\"] = np.log10(diamonds.price)\n", "diamonds.head()" ] }, { "cell_type": "code", "execution_count": 69, "id": "b1fb3070", "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", "
caratcutcolorclaritydepthtablepricexyzprice_per_caratprice_log10price_root
00.23IdealESI261.555.03263.953.982.431417.3913042.51321818.055470
10.21PremiumESI159.861.03263.893.842.311552.3809522.51321818.055470
20.23GoodEVS156.965.03274.054.072.311421.7391302.51454818.083141
30.29PremiumIVS262.458.03344.204.232.631151.7241382.52374618.275667
40.31GoodJSI263.358.03354.344.352.751080.6451612.52504518.303005
\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z \\\n", "0 0.23 Ideal E SI2 61.5 55.0 326 3.95 3.98 2.43 \n", "1 0.21 Premium E SI1 59.8 61.0 326 3.89 3.84 2.31 \n", "2 0.23 Good E VS1 56.9 65.0 327 4.05 4.07 2.31 \n", "3 0.29 Premium I VS2 62.4 58.0 334 4.20 4.23 2.63 \n", "4 0.31 Good J SI2 63.3 58.0 335 4.34 4.35 2.75 \n", "\n", " price_per_carat price_log10 price_root \n", "0 1417.391304 2.513218 18.055470 \n", "1 1552.380952 2.513218 18.055470 \n", "2 1421.739130 2.514548 18.083141 \n", "3 1151.724138 2.523746 18.275667 \n", "4 1080.645161 2.525045 18.303005 " ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# ii. 루트(Root) 변환\n", "# data[\"새로운 열의 이름\"] = np.sqrt(data[\"열의이름\"])\n", "# 참고 : sqrt : square root\n", "\n", "diamonds[\"price_root\"] = np.sqrt(diamonds.price)\n", "diamonds.head()" ] }, { "cell_type": "code", "execution_count": 71, "id": "45d2d814", "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", "
caratcutcolorclaritydepthtablepricexyzprice_per_caratprice_log10price_rootprice_inverse
00.23IdealESI261.555.03263.953.982.431417.3913042.51321818.0554700.003067
10.21PremiumESI159.861.03263.893.842.311552.3809522.51321818.0554700.003067
20.23GoodEVS156.965.03274.054.072.311421.7391302.51454818.0831410.003058
30.29PremiumIVS262.458.03344.204.232.631151.7241382.52374618.2756670.002994
40.31GoodJSI263.358.03354.344.352.751080.6451612.52504518.3030050.002985
\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z \\\n", "0 0.23 Ideal E SI2 61.5 55.0 326 3.95 3.98 2.43 \n", "1 0.21 Premium E SI1 59.8 61.0 326 3.89 3.84 2.31 \n", "2 0.23 Good E VS1 56.9 65.0 327 4.05 4.07 2.31 \n", "3 0.29 Premium I VS2 62.4 58.0 334 4.20 4.23 2.63 \n", "4 0.31 Good J SI2 63.3 58.0 335 4.34 4.35 2.75 \n", "\n", " price_per_carat price_log10 price_root price_inverse \n", "0 1417.391304 2.513218 18.055470 0.003067 \n", "1 1552.380952 2.513218 18.055470 0.003067 \n", "2 1421.739130 2.514548 18.083141 0.003058 \n", "3 1151.724138 2.523746 18.275667 0.002994 \n", "4 1080.645161 2.525045 18.303005 0.002985 " ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# iii. 역수(Inverse) 변환\n", "# data[\"새로운 열의 이름\"] = 1/data[\"열의이름\"]\n", "diamonds[\"price_inverse\"] = 1 / diamonds.price\n", "diamonds.head()" ] }, { "cell_type": "code", "execution_count": 73, "id": "e64460c8", "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", "
caratcutcolorclaritydepthtablepricexyzprice_per_caratprice_log10price_rootprice_inversecut2
00.23IdealESI261.555.03263.953.982.431417.3913042.51321818.0554700.003067Ideal
10.21PremiumESI159.861.03263.893.842.311552.3809522.51321818.0554700.003067NonIdeal
20.23GoodEVS156.965.03274.054.072.311421.7391302.51454818.0831410.003058NonIdeal
30.29PremiumIVS262.458.03344.204.232.631151.7241382.52374618.2756670.002994NonIdeal
40.31GoodJSI263.358.03354.344.352.751080.6451612.52504518.3030050.002985NonIdeal
\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z \\\n", "0 0.23 Ideal E SI2 61.5 55.0 326 3.95 3.98 2.43 \n", "1 0.21 Premium E SI1 59.8 61.0 326 3.89 3.84 2.31 \n", "2 0.23 Good E VS1 56.9 65.0 327 4.05 4.07 2.31 \n", "3 0.29 Premium I VS2 62.4 58.0 334 4.20 4.23 2.63 \n", "4 0.31 Good J SI2 63.3 58.0 335 4.34 4.35 2.75 \n", "\n", " price_per_carat price_log10 price_root price_inverse cut2 \n", "0 1417.391304 2.513218 18.055470 0.003067 Ideal \n", "1 1552.380952 2.513218 18.055470 0.003067 NonIdeal \n", "2 1421.739130 2.514548 18.083141 0.003058 NonIdeal \n", "3 1151.724138 2.523746 18.275667 0.002994 NonIdeal \n", "4 1080.645161 2.525045 18.303005 0.002985 NonIdeal " ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# (3) 범주(Category) 줄이기\n", "# cut : 다이아몬드의 품질, 5개의 범주\n", "# \"Fair\", \"Good\", \"Very Good\", \"Premium\", \"Ideal\"\n", "\n", "# cut2 : \"Ideal\", \"NonIdeal\"\n", "\n", "# data[\"새로운 열의 이름\"] = data[\"열의이름\"].apply(lambda x : \"Ideal\" if x == \"Ideal\" else \"NonIdeal\")\n", "diamonds[\"cut2\"] = diamonds[\"cut\"].apply(lambda x : \"Ideal\" if x == \"Ideal\" else \"NonIdeal\")\n", "diamonds.head()" ] }, { "cell_type": "code", "execution_count": 74, "id": "c23058f9", "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", "
caratcutcolorclaritydepthtablepricexyzprice_per_caratprice_log10price_rootprice_inversecut2cut3
00.23IdealESI261.555.03263.953.982.431417.3913042.51321818.0554700.003067IdealIdeal
10.21PremiumESI159.861.03263.893.842.311552.3809522.51321818.0554700.003067NonIdealPremium
20.23GoodEVS156.965.03274.054.072.311421.7391302.51454818.0831410.003058NonIdealETC
30.29PremiumIVS262.458.03344.204.232.631151.7241382.52374618.2756670.002994NonIdealPremium
40.31GoodJSI263.358.03354.344.352.751080.6451612.52504518.3030050.002985NonIdealETC
\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z \\\n", "0 0.23 Ideal E SI2 61.5 55.0 326 3.95 3.98 2.43 \n", "1 0.21 Premium E SI1 59.8 61.0 326 3.89 3.84 2.31 \n", "2 0.23 Good E VS1 56.9 65.0 327 4.05 4.07 2.31 \n", "3 0.29 Premium I VS2 62.4 58.0 334 4.20 4.23 2.63 \n", "4 0.31 Good J SI2 63.3 58.0 335 4.34 4.35 2.75 \n", "\n", " price_per_carat price_log10 price_root price_inverse cut2 cut3 \n", "0 1417.391304 2.513218 18.055470 0.003067 Ideal Ideal \n", "1 1552.380952 2.513218 18.055470 0.003067 NonIdeal Premium \n", "2 1421.739130 2.514548 18.083141 0.003058 NonIdeal ETC \n", "3 1151.724138 2.523746 18.275667 0.002994 NonIdeal Premium \n", "4 1080.645161 2.525045 18.303005 0.002985 NonIdeal ETC " ] }, "execution_count": 74, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# cut3 : \"Ideal\", \"Premium\", \"ETC\"\n", "diamonds[\"cut3\"] = diamonds[\"cut\"].apply(lambda x : \"Ideal\" if x == \"Ideal\" else \"Premium\" if x == \"Premium\" else \"ETC\")\n", "diamonds.head()" ] }, { "cell_type": "code", "execution_count": 78, "id": "2585c8fd", "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", " \n", " \n", " \n", "
caratcutcolorclaritydepthtablepricexyzprice_per_caratprice_log10price_rootprice_inversecut2cut3price_group
00.23IdealESI261.555.03263.953.982.431417.3913042.51321818.0554700.003067IdealIdealVery Cheap
10.21PremiumESI159.861.03263.893.842.311552.3809522.51321818.0554700.003067NonIdealPremiumVery Cheap
20.23GoodEVS156.965.03274.054.072.311421.7391302.51454818.0831410.003058NonIdealETCVery Cheap
30.29PremiumIVS262.458.03344.204.232.631151.7241382.52374618.2756670.002994NonIdealPremiumVery Cheap
40.31GoodJSI263.358.03354.344.352.751080.6451612.52504518.3030050.002985NonIdealETCVery Cheap
\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z \\\n", "0 0.23 Ideal E SI2 61.5 55.0 326 3.95 3.98 2.43 \n", "1 0.21 Premium E SI1 59.8 61.0 326 3.89 3.84 2.31 \n", "2 0.23 Good E VS1 56.9 65.0 327 4.05 4.07 2.31 \n", "3 0.29 Premium I VS2 62.4 58.0 334 4.20 4.23 2.63 \n", "4 0.31 Good J SI2 63.3 58.0 335 4.34 4.35 2.75 \n", "\n", " price_per_carat price_log10 price_root price_inverse cut2 cut3 \\\n", "0 1417.391304 2.513218 18.055470 0.003067 Ideal Ideal \n", "1 1552.380952 2.513218 18.055470 0.003067 NonIdeal Premium \n", "2 1421.739130 2.514548 18.083141 0.003058 NonIdeal ETC \n", "3 1151.724138 2.523746 18.275667 0.002994 NonIdeal Premium \n", "4 1080.645161 2.525045 18.303005 0.002985 NonIdeal ETC \n", "\n", " price_group \n", "0 Very Cheap \n", "1 Very Cheap \n", "2 Very Cheap \n", "3 Very Cheap \n", "4 Very Cheap " ] }, "execution_count": 78, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# (4) 범주화 : 수치형(숫자) --> 범주형\n", "# price(수치형) --> price_group(범주형)\n", "# 0 이상 ~ 5000 미만 --> \"Very Cheap\"\n", "# 5000 이상 ~ 10000 미만 --> \"Cheap\"\n", "# 10000 이상 ~ 15000 미만 --> \"Expensive\"\n", "# 15000 이상 ~ 20000 미만 --> \"Very Expensive\"\n", "\n", "# data[\"새로운 열의 이름\"] = pandas.cut(data[\"열의이름\"],\n", "# bins = 구간의 정보,\n", "# right = True or False,\n", "# labels = 범주의 이름)\n", "\n", "diamonds[\"price_group\"] = pd.cut(diamonds.price,\n", " bins = [0, 5000, 10000, 15000, 20000],\n", " right = False,\n", " labels = [\"Very Cheap\", \"Cheap\", \"Expensive\", \"Very Expensive\"])\n", "\n", "diamonds.head()" ] }, { "cell_type": "code", "execution_count": 77, "id": "eb9444a8", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0, 5000, 10000, 15000, 20000])" ] }, "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 규칙이 있는 2개 이상의 숫자를 만들 때\n", "# numpy.arange(start = 숫자, stop = 숫자, step = 증가의 폭)\n", "np.arange(start = 0, stop = 25000, step = 5000)" ] }, { "cell_type": "markdown", "id": "2fb04c49", "metadata": {}, "source": [ "#### 6. 열 삭제하기\n", "- 하나의 열\n", "- 2개 이상의 열" ] }, { "cell_type": "code", "execution_count": 79, "id": "bdcfc650", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['carat', 'cut', 'color', 'clarity', 'depth', 'table', 'price', 'x', 'y',\n", " 'z', 'price_per_carat', 'price_log10', 'price_root', 'price_inverse',\n", " 'cut2', 'cut3', 'price_group'],\n", " dtype='object')" ] }, "execution_count": 79, "metadata": {}, "output_type": "execute_result" } ], "source": [ "diamonds.columns" ] }, { "cell_type": "code", "execution_count": 80, "id": "9f4905c9", "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", "
caratcutcolorclaritydepthtablepricexyzprice_log10price_rootprice_inversecut2cut3price_group
00.23IdealESI261.555.03263.953.982.432.51321818.0554700.003067IdealIdealVery Cheap
10.21PremiumESI159.861.03263.893.842.312.51321818.0554700.003067NonIdealPremiumVery Cheap
20.23GoodEVS156.965.03274.054.072.312.51454818.0831410.003058NonIdealETCVery Cheap
30.29PremiumIVS262.458.03344.204.232.632.52374618.2756670.002994NonIdealPremiumVery Cheap
40.31GoodJSI263.358.03354.344.352.752.52504518.3030050.002985NonIdealETCVery Cheap
\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z \\\n", "0 0.23 Ideal E SI2 61.5 55.0 326 3.95 3.98 2.43 \n", "1 0.21 Premium E SI1 59.8 61.0 326 3.89 3.84 2.31 \n", "2 0.23 Good E VS1 56.9 65.0 327 4.05 4.07 2.31 \n", "3 0.29 Premium I VS2 62.4 58.0 334 4.20 4.23 2.63 \n", "4 0.31 Good J SI2 63.3 58.0 335 4.34 4.35 2.75 \n", "\n", " price_log10 price_root price_inverse cut2 cut3 price_group \n", "0 2.513218 18.055470 0.003067 Ideal Ideal Very Cheap \n", "1 2.513218 18.055470 0.003067 NonIdeal Premium Very Cheap \n", "2 2.514548 18.083141 0.003058 NonIdeal ETC Very Cheap \n", "3 2.523746 18.275667 0.002994 NonIdeal Premium Very Cheap \n", "4 2.525045 18.303005 0.002985 NonIdeal ETC Very Cheap " ] }, "execution_count": 80, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# (1) 하나의 열 삭제하기 : del data[\"열의 이름\"]\n", "del diamonds[\"price_per_carat\"]\n", "diamonds.head()" ] }, { "cell_type": "code", "execution_count": 81, "id": "81526269", "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", "
caratcutcolorclaritydepthtablepricexyz
00.23IdealESI261.555.03263.953.982.43
10.21PremiumESI159.861.03263.893.842.31
20.23GoodEVS156.965.03274.054.072.31
30.29PremiumIVS262.458.03344.204.232.63
40.31GoodJSI263.358.03354.344.352.75
\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z\n", "0 0.23 Ideal E SI2 61.5 55.0 326 3.95 3.98 2.43\n", "1 0.21 Premium E SI1 59.8 61.0 326 3.89 3.84 2.31\n", "2 0.23 Good E VS1 56.9 65.0 327 4.05 4.07 2.31\n", "3 0.29 Premium I VS2 62.4 58.0 334 4.20 4.23 2.63\n", "4 0.31 Good J SI2 63.3 58.0 335 4.34 4.35 2.75" ] }, "execution_count": 81, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# (2) 2개 이상의 열 삭제하기\n", "# data.drop(columns = [\"열의 이름1\", ...], inplace = True or False)\n", "# inplace = True : 해당 열을 삭제했을 때에 data에도 그 결과가 반영되도록 함\n", "\n", "diamonds.drop(columns = [\"price_log10\", \"price_root\", \"price_inverse\", \"cut2\", \"cut3\", \"price_group\"],\n", " inplace = True)\n", "diamonds.head()" ] }, { "cell_type": "markdown", "id": "432d4dc9", "metadata": {}, "source": [ "#### 7. 정렬하기\n", "- 리스트 정렬하기\n", "- 데이터프레임 정렬하기" ] }, { "cell_type": "code", "execution_count": 82, "id": "061b1a5b", "metadata": {}, "outputs": [], "source": [ "# (1) list 정렬하기\n", "# list.sort(reverse = True or False)" ] }, { "cell_type": "code", "execution_count": 83, "id": "d1251b5f", "metadata": {}, "outputs": [], "source": [ "walk = [30, 40, 20, 30, 30, 60]" ] }, { "cell_type": "code", "execution_count": 87, "id": "72f38e29", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[20, 30, 30, 30, 40, 60]" ] }, "execution_count": 87, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 오름차순\n", "walk.sort(reverse = False)\n", "walk" ] }, { "cell_type": "code", "execution_count": 88, "id": "7cddd7cb", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[60, 40, 30, 30, 30, 20]" ] }, "execution_count": 88, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 내림차순\n", "walk.sort(reverse = True)\n", "walk" ] }, { "cell_type": "code", "execution_count": 89, "id": "ed5de263", "metadata": {}, "outputs": [], "source": [ "# (2) 데이터 프레임\n", "# data.sort_values(by = 정렬한 열의 이름, ascending = True or False)" ] }, { "cell_type": "code", "execution_count": 90, "id": "a32dbd89", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
caratcutcolorclaritydepthtablepricexyz
315930.20PremiumEVS261.159.03673.813.782.32
315970.20IdealDVS261.557.03673.813.772.33
315960.20PremiumFVS262.659.03673.733.712.33
315950.20IdealEVS259.755.03673.863.842.30
315940.20PremiumEVS259.762.03673.843.802.28
.................................
259994.01PremiumJI162.562.01522310.029.946.24
259984.01PremiumII161.061.01522310.1410.106.17
271304.13FairHI164.861.01732910.009.856.43
276304.50FairJI165.858.01853110.2310.166.72
274155.01FairJI165.559.01801810.7410.546.98
\n", "

53940 rows × 10 columns

\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z\n", "31593 0.20 Premium E VS2 61.1 59.0 367 3.81 3.78 2.32\n", "31597 0.20 Ideal D VS2 61.5 57.0 367 3.81 3.77 2.33\n", "31596 0.20 Premium F VS2 62.6 59.0 367 3.73 3.71 2.33\n", "31595 0.20 Ideal E VS2 59.7 55.0 367 3.86 3.84 2.30\n", "31594 0.20 Premium E VS2 59.7 62.0 367 3.84 3.80 2.28\n", "... ... ... ... ... ... ... ... ... ... ...\n", "25999 4.01 Premium J I1 62.5 62.0 15223 10.02 9.94 6.24\n", "25998 4.01 Premium I I1 61.0 61.0 15223 10.14 10.10 6.17\n", "27130 4.13 Fair H I1 64.8 61.0 17329 10.00 9.85 6.43\n", "27630 4.50 Fair J I1 65.8 58.0 18531 10.23 10.16 6.72\n", "27415 5.01 Fair J I1 65.5 59.0 18018 10.74 10.54 6.98\n", "\n", "[53940 rows x 10 columns]" ] }, "execution_count": 90, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# i. carat : 오름차순\n", "diamonds.sort_values(by = \"carat\", ascending = True)" ] }, { "cell_type": "code", "execution_count": 91, "id": "f5966fb2", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
caratcutcolorclaritydepthtablepricexyz
274155.01FairJI165.559.01801810.7410.546.98
276304.50FairJI165.858.01853110.2310.166.72
271304.13FairHI164.861.01732910.009.856.43
259994.01PremiumJI162.562.01522310.029.946.24
259984.01PremiumII161.061.01522310.1410.106.17
.................................
315920.20PremiumEVS259.060.03673.813.782.24
315910.20PremiumEVS259.862.03673.793.772.26
316010.20PremiumDVS261.760.03673.773.722.31
140.20PremiumESI260.262.03453.793.752.27
315960.20PremiumFVS262.659.03673.733.712.33
\n", "

53940 rows × 10 columns

\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z\n", "27415 5.01 Fair J I1 65.5 59.0 18018 10.74 10.54 6.98\n", "27630 4.50 Fair J I1 65.8 58.0 18531 10.23 10.16 6.72\n", "27130 4.13 Fair H I1 64.8 61.0 17329 10.00 9.85 6.43\n", "25999 4.01 Premium J I1 62.5 62.0 15223 10.02 9.94 6.24\n", "25998 4.01 Premium I I1 61.0 61.0 15223 10.14 10.10 6.17\n", "... ... ... ... ... ... ... ... ... ... ...\n", "31592 0.20 Premium E VS2 59.0 60.0 367 3.81 3.78 2.24\n", "31591 0.20 Premium E VS2 59.8 62.0 367 3.79 3.77 2.26\n", "31601 0.20 Premium D VS2 61.7 60.0 367 3.77 3.72 2.31\n", "14 0.20 Premium E SI2 60.2 62.0 345 3.79 3.75 2.27\n", "31596 0.20 Premium F VS2 62.6 59.0 367 3.73 3.71 2.33\n", "\n", "[53940 rows x 10 columns]" ] }, "execution_count": 91, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# ii. carat : 내림차순\n", "diamonds.sort_values(by = \"carat\", ascending = False)" ] }, { "cell_type": "code", "execution_count": 92, "id": "35d5fe69", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
caratcutcolorclaritydepthtablepricexyz
00.23IdealESI261.555.03263.953.982.43
307790.33IdealEVVS261.054.07414.494.522.75
307770.30IdealDVVS259.556.07414.384.422.62
307760.40IdealGSI162.554.07414.744.772.97
307750.40IdealGSI162.354.07414.744.772.96
.................................
81971.20FairHSI264.858.043686.616.564.27
146341.00FairGVS164.456.059086.316.264.05
82001.00FairHVS165.461.043686.226.174.05
81861.50FairII171.358.043686.856.814.87
36051.00FairJSI164.958.034276.296.234.06
\n", "

53940 rows × 10 columns

\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z\n", "0 0.23 Ideal E SI2 61.5 55.0 326 3.95 3.98 2.43\n", "30779 0.33 Ideal E VVS2 61.0 54.0 741 4.49 4.52 2.75\n", "30777 0.30 Ideal D VVS2 59.5 56.0 741 4.38 4.42 2.62\n", "30776 0.40 Ideal G SI1 62.5 54.0 741 4.74 4.77 2.97\n", "30775 0.40 Ideal G SI1 62.3 54.0 741 4.74 4.77 2.96\n", "... ... ... ... ... ... ... ... ... ... ...\n", "8197 1.20 Fair H SI2 64.8 58.0 4368 6.61 6.56 4.27\n", "14634 1.00 Fair G VS1 64.4 56.0 5908 6.31 6.26 4.05\n", "8200 1.00 Fair H VS1 65.4 61.0 4368 6.22 6.17 4.05\n", "8186 1.50 Fair I I1 71.3 58.0 4368 6.85 6.81 4.87\n", "3605 1.00 Fair J SI1 64.9 58.0 3427 6.29 6.23 4.06\n", "\n", "[53940 rows x 10 columns]" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# iii. cut : 문자형 : 오름차순\n", "# \"Fair\", \"Good\", \"Very Good\", \"Premium\", \"Ideal\"\n", "# 품질 순서로 정렬\n", "diamonds.sort_values(by = \"cut\", ascending = True)" ] }, { "cell_type": "code", "execution_count": 93, "id": "106b9abd", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
caratcutcolorclaritydepthtablepricexyz
120051.01FairDSI164.461.051476.176.133.96
23221.01FairHSI264.554.031676.266.154.00
397130.41FairDVVS264.557.010894.684.653.01
294440.50FairGI164.660.07015.044.963.23
23361.09FairFSI266.356.031706.476.394.27
.................................
293160.31IdealHVS162.655.06984.384.342.73
293150.31IdealHVS161.157.06984.394.352.67
293140.31IdealHVS162.054.06984.394.352.71
293090.34IdealFSI261.957.04384.504.522.79
539390.75IdealDSI262.255.027575.835.873.64
\n", "

53940 rows × 10 columns

\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z\n", "12005 1.01 Fair D SI1 64.4 61.0 5147 6.17 6.13 3.96\n", "2322 1.01 Fair H SI2 64.5 54.0 3167 6.26 6.15 4.00\n", "39713 0.41 Fair D VVS2 64.5 57.0 1089 4.68 4.65 3.01\n", "29444 0.50 Fair G I1 64.6 60.0 701 5.04 4.96 3.23\n", "2336 1.09 Fair F SI2 66.3 56.0 3170 6.47 6.39 4.27\n", "... ... ... ... ... ... ... ... ... ... ...\n", "29316 0.31 Ideal H VS1 62.6 55.0 698 4.38 4.34 2.73\n", "29315 0.31 Ideal H VS1 61.1 57.0 698 4.39 4.35 2.67\n", "29314 0.31 Ideal H VS1 62.0 54.0 698 4.39 4.35 2.71\n", "29309 0.34 Ideal F SI2 61.9 57.0 438 4.50 4.52 2.79\n", "53939 0.75 Ideal D SI2 62.2 55.0 2757 5.83 5.87 3.64\n", "\n", "[53940 rows x 10 columns]" ] }, "execution_count": 93, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# iv. cut : 문자형 : 내림차순\n", "# \"Fair\", \"Good\", \"Very Good\", \"Premium\", \"Ideal\"\n", "# 품질 순서로 정렬\n", "diamonds.sort_values(by = \"cut\", ascending = False)" ] }, { "cell_type": "code", "execution_count": 94, "id": "655fb204", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
caratcutcolorclaritydepthtablepricexyz
315950.20IdealEVS259.755.03673.863.842.30
315970.20IdealDVS261.557.03673.813.772.33
315990.20IdealEVS262.257.03673.763.732.33
00.23IdealESI261.555.03263.953.982.43
110.23IdealJVS162.856.03403.933.902.46
.................................
264313.40FairDI166.852.0159649.429.346.27
236443.65FairHI167.153.0116689.539.486.38
271304.13FairHI164.861.01732910.009.856.43
276304.50FairJI165.858.01853110.2310.166.72
274155.01FairJI165.559.01801810.7410.546.98
\n", "

53940 rows × 10 columns

\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z\n", "31595 0.20 Ideal E VS2 59.7 55.0 367 3.86 3.84 2.30\n", "31597 0.20 Ideal D VS2 61.5 57.0 367 3.81 3.77 2.33\n", "31599 0.20 Ideal E VS2 62.2 57.0 367 3.76 3.73 2.33\n", "0 0.23 Ideal E SI2 61.5 55.0 326 3.95 3.98 2.43\n", "11 0.23 Ideal J VS1 62.8 56.0 340 3.93 3.90 2.46\n", "... ... ... ... ... ... ... ... ... ... ...\n", "26431 3.40 Fair D I1 66.8 52.0 15964 9.42 9.34 6.27\n", "23644 3.65 Fair H I1 67.1 53.0 11668 9.53 9.48 6.38\n", "27130 4.13 Fair H I1 64.8 61.0 17329 10.00 9.85 6.43\n", "27630 4.50 Fair J I1 65.8 58.0 18531 10.23 10.16 6.72\n", "27415 5.01 Fair J I1 65.5 59.0 18018 10.74 10.54 6.98\n", "\n", "[53940 rows x 10 columns]" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# v. cut : 오름차순, carat : 오름차순\n", "diamonds.sort_values(by = [\"cut\", \"carat\"], ascending = True)" ] }, { "cell_type": "code", "execution_count": 95, "id": "9ac26e52", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
caratcutcolorclaritydepthtablepricexyz
274155.01FairJI165.559.01801810.7410.546.98
276304.50FairJI165.858.01853110.2310.166.72
271304.13FairHI164.861.01732910.009.856.43
236443.65FairHI167.153.0116689.539.486.38
264313.40FairDI166.852.0159649.429.346.27
.................................
523030.23IdealFVS161.455.05483.963.992.44
523040.23IdealFVS161.156.05483.973.992.43
315950.20IdealEVS259.755.03673.863.842.30
315970.20IdealDVS261.557.03673.813.772.33
315990.20IdealEVS262.257.03673.763.732.33
\n", "

53940 rows × 10 columns

\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z\n", "27415 5.01 Fair J I1 65.5 59.0 18018 10.74 10.54 6.98\n", "27630 4.50 Fair J I1 65.8 58.0 18531 10.23 10.16 6.72\n", "27130 4.13 Fair H I1 64.8 61.0 17329 10.00 9.85 6.43\n", "23644 3.65 Fair H I1 67.1 53.0 11668 9.53 9.48 6.38\n", "26431 3.40 Fair D I1 66.8 52.0 15964 9.42 9.34 6.27\n", "... ... ... ... ... ... ... ... ... ... ...\n", "52303 0.23 Ideal F VS1 61.4 55.0 548 3.96 3.99 2.44\n", "52304 0.23 Ideal F VS1 61.1 56.0 548 3.97 3.99 2.43\n", "31595 0.20 Ideal E VS2 59.7 55.0 367 3.86 3.84 2.30\n", "31597 0.20 Ideal D VS2 61.5 57.0 367 3.81 3.77 2.33\n", "31599 0.20 Ideal E VS2 62.2 57.0 367 3.76 3.73 2.33\n", "\n", "[53940 rows x 10 columns]" ] }, "execution_count": 95, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# vi. cut : 내림차순, carat : 내림차순\n", "diamonds.sort_values(by = [\"cut\", \"carat\"], ascending = False)" ] }, { "cell_type": "code", "execution_count": 96, "id": "b8079ecb", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
caratcutcolorclaritydepthtablepricexyz
243283.50IdealHI162.857.0125879.659.596.03
242973.22IdealII162.655.0125459.499.425.92
264673.01IdealJSI261.758.0160379.259.205.69
267443.01IdealJI165.460.0165388.998.935.86
247842.75IdealDI160.957.0131569.048.985.49
.................................
27110.25FairDVS161.255.05634.094.112.51
282700.25FairEVS155.264.03614.214.232.33
381530.25FairFSI254.464.010134.304.232.32
316110.23FairGVVS261.466.03693.873.912.39
80.22FairEVS265.161.03373.873.782.49
\n", "

53940 rows × 10 columns

\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z\n", "24328 3.50 Ideal H I1 62.8 57.0 12587 9.65 9.59 6.03\n", "24297 3.22 Ideal I I1 62.6 55.0 12545 9.49 9.42 5.92\n", "26467 3.01 Ideal J SI2 61.7 58.0 16037 9.25 9.20 5.69\n", "26744 3.01 Ideal J I1 65.4 60.0 16538 8.99 8.93 5.86\n", "24784 2.75 Ideal D I1 60.9 57.0 13156 9.04 8.98 5.49\n", "... ... ... ... ... ... ... ... ... ... ...\n", "2711 0.25 Fair D VS1 61.2 55.0 563 4.09 4.11 2.51\n", "28270 0.25 Fair E VS1 55.2 64.0 361 4.21 4.23 2.33\n", "38153 0.25 Fair F SI2 54.4 64.0 1013 4.30 4.23 2.32\n", "31611 0.23 Fair G VVS2 61.4 66.0 369 3.87 3.91 2.39\n", "8 0.22 Fair E VS2 65.1 61.0 337 3.87 3.78 2.49\n", "\n", "[53940 rows x 10 columns]" ] }, "execution_count": 96, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# vii. cut : 오름차순, carat : 내림차순\n", "diamonds.sort_values(by = [\"cut\", \"carat\"], ascending = [True, False])" ] }, { "cell_type": "code", "execution_count": 97, "id": "3fa4e8cb", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
caratcutcolorclaritydepthtablepricexyz
80.22FairEVS265.161.03373.873.782.49
316110.23FairGVVS261.466.03693.873.912.39
27110.25FairDVS161.255.05634.094.112.51
282700.25FairEVS155.264.03614.214.232.33
381530.25FairFSI254.464.010134.304.232.32
.................................
247842.75IdealDI160.957.0131569.048.985.49
264673.01IdealJSI261.758.0160379.259.205.69
267443.01IdealJI165.460.0165388.998.935.86
242973.22IdealII162.655.0125459.499.425.92
243283.50IdealHI162.857.0125879.659.596.03
\n", "

53940 rows × 10 columns

\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z\n", "8 0.22 Fair E VS2 65.1 61.0 337 3.87 3.78 2.49\n", "31611 0.23 Fair G VVS2 61.4 66.0 369 3.87 3.91 2.39\n", "2711 0.25 Fair D VS1 61.2 55.0 563 4.09 4.11 2.51\n", "28270 0.25 Fair E VS1 55.2 64.0 361 4.21 4.23 2.33\n", "38153 0.25 Fair F SI2 54.4 64.0 1013 4.30 4.23 2.32\n", "... ... ... ... ... ... ... ... ... ... ...\n", "24784 2.75 Ideal D I1 60.9 57.0 13156 9.04 8.98 5.49\n", "26467 3.01 Ideal J SI2 61.7 58.0 16037 9.25 9.20 5.69\n", "26744 3.01 Ideal J I1 65.4 60.0 16538 8.99 8.93 5.86\n", "24297 3.22 Ideal I I1 62.6 55.0 12545 9.49 9.42 5.92\n", "24328 3.50 Ideal H I1 62.8 57.0 12587 9.65 9.59 6.03\n", "\n", "[53940 rows x 10 columns]" ] }, "execution_count": 97, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# viii. cut : 내림차순, carat : 오름차순\n", "diamonds.sort_values(by = [\"cut\", \"carat\"], ascending = [False, True])" ] }, { "cell_type": "markdown", "id": "e7f454cb", "metadata": {}, "source": [ "#### 8. 데이터 합치기\n", "- 위/아래 : pandas.concat()\n", "- 왼쪽/오른쪽 : pandas.merge() " ] }, { "cell_type": "code", "execution_count": 98, "id": "ce6822ca", "metadata": {}, "outputs": [], "source": [ "# (1) 위/아래\n", "# 2개 이상의 데이터가 열의 이름도 같고, 열의 순서도 같을 때에\n", "# 예를 들면, 2022년 매출 데이터, 2023년 매출 데이터\n", "\n", "df1 = pd.DataFrame({\"Year\" : [2022, 2022, 2022, 2022],\n", " \"Item\" : [\"A\", \"B\", \"C\", \"D\"],\n", " \"income\" : [1000, 2000, 3000, 4000]})\n", "\n", "df2 = pd.DataFrame({\"Year\" : [2023, 2023, 2023, 2023],\n", " \"Item\" : [\"A\", \"B\", \"C\", \"D\"],\n", " \"income\" : [500, 1000, 500, 1000]})" ] }, { "cell_type": "code", "execution_count": 104, "id": "f0b31b98", "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", "
YearItemincome
02022A1000
12022B2000
22022C3000
32022D4000
42023A500
52023B1000
62023C500
72023D1000
\n", "
" ], "text/plain": [ " Year Item income\n", "0 2022 A 1000\n", "1 2022 B 2000\n", "2 2022 C 3000\n", "3 2022 D 4000\n", "4 2023 A 500\n", "5 2023 B 1000\n", "6 2023 C 500\n", "7 2023 D 1000" ] }, "execution_count": 104, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# data = pandas.concat(objs = [data1, data2, ...], axis = 0)\n", "\n", "# concat : concatenate : 연결하다\n", "# axis : 축\n", "# axis = 0 : 행\n", "# axis = 1 : 열\n", "\n", "df3 = pd.concat(objs = [df1, df2], axis = 0)\n", "df3.reset_index(drop = True)\n", "\n", "# reset_index() : 행의 이름을 수정\n", "# drop = True : 기존의 행의 이름을 열로 저장하지 않고 삭제함" ] }, { "cell_type": "code", "execution_count": 105, "id": "339b3d3b", "metadata": {}, "outputs": [], "source": [ "# (2) 왼쪽/오른쪽\n", "# 2개의 데이터만 합칠 수 있음\n", "# 각각 데이터에 일부의 정보를 저장하고 있는 경우\n", "\n", "# 예를들면, df4 : 고객정보, df5 : 거래정보\n", "\n", "# data = pandas.merge(data1, \n", "# data2, \n", "# on = \"기본키 or 주요키 or Primary key\",\n", "# how = 결합 방법)\n", "\n", "# how : \"inner\", \"outer\", \"left\", \"right\"" ] }, { "cell_type": "code", "execution_count": 106, "id": "69e53c68", "metadata": {}, "outputs": [], "source": [ "df4 = pd.DataFrame({\"id\" : [1, 2, 4, 5],\n", " \"age\" : [10, 20, 40, 50]})\n", "\n", "df5 = pd.DataFrame({\"id\" : [1, 3, 4, 6],\n", " \"bt\" : [\"a\", \"b\", \"ab\", \"o\"]})" ] }, { "cell_type": "code", "execution_count": 107, "id": "a7df303f", "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", "
idagebt
0110a
1440ab
\n", "
" ], "text/plain": [ " id age bt\n", "0 1 10 a\n", "1 4 40 ab" ] }, "execution_count": 107, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# i. inner join\n", "# 2개의 데이터에 동시에 있는 primary key만 합침\n", "# pandas.merge(data1, data2, on = \"primary key\", how = \"inner\")\n", "\n", "df6 = pd.merge(df4, df5, on = \"id\", how = \"inner\")\n", "df6" ] }, { "cell_type": "code", "execution_count": 111, "id": "c05663ae", "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", "
idagebt
0110.0a
1220.0NaN
23NaNb
3440.0ab
4550.0NaN
56NaNo
\n", "
" ], "text/plain": [ " id age bt\n", "0 1 10.0 a\n", "1 2 20.0 NaN\n", "2 3 NaN b\n", "3 4 40.0 ab\n", "4 5 50.0 NaN\n", "5 6 NaN o" ] }, "execution_count": 111, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# ii. Outer Join : Full Join\n", "# 2개의 데이터에 primary key의 합집합\n", "# pandas.merge(data1, data2, on = \"primary key\", how = \"outer\")\n", "\n", "df7 = pd.merge(df4, df5, on = \"id\", how = \"outer\")\n", "df7 = df7.sort_values(by = \"id\", ascending = True)\n", "df7.reset_index(drop = True)" ] }, { "cell_type": "code", "execution_count": 113, "id": "a3644841", "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", "
idagebt
0110a
1220NaN
2440ab
3550NaN
\n", "
" ], "text/plain": [ " id age bt\n", "0 1 10 a\n", "1 2 20 NaN\n", "2 4 40 ab\n", "3 5 50 NaN" ] }, "execution_count": 113, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# iii. Outer Join : Left Join\n", "# merge()에 먼저 들어가는 데이터 : left\n", "# merge()에 두 번째로 들어가는 데이터 : rigth\n", "# merge()에 먼저 들어가는 데이터의 primary key만 합침\n", "\n", "# pandas.merge(data1, data2, on = \"primary key\", how = \"left\")\n", "\n", "df8 = pd.merge(df4, df5, on = \"id\", how = \"left\")\n", "df8" ] }, { "cell_type": "code", "execution_count": 114, "id": "661f4acf", "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", "
idagebt
0110.0a
13NaNb
2440.0ab
36NaNo
\n", "
" ], "text/plain": [ " id age bt\n", "0 1 10.0 a\n", "1 3 NaN b\n", "2 4 40.0 ab\n", "3 6 NaN o" ] }, "execution_count": 114, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# iv. Outer Join : Right Join\n", "# merge()에 먼저 들어가는 데이터 : left\n", "# merge()에 두 번째로 들어가는 데이터 : rigth\n", "# merge()에 두 번째로 들어가는 데이터의 primary key만 합침\n", "\n", "# pandas.merge(data1, data2, on = \"primary key\", how = \"right\")\n", "\n", "df9 = pd.merge(df4, df5, on = \"id\", how = \"right\")\n", "df9" ] }, { "cell_type": "code", "execution_count": null, "id": "255a10d7", "metadata": {}, "outputs": [], "source": [ "# 참고\n", "# 만약에 primary key가 2개 이상\n", "# pandas.merge(data1, data2, \n", "# on = [\"primary key1\", \"primary key2\"], \n", "# how = \"outer\")" ] } ], "metadata": { "hide_input": false, "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.11.5" }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 5 }