diff --git "a/Python Numpy, Pandas \354\230\210\354\240\234\355\214\214\354\235\274/Pandas_\354\230\210\354\240\234.ipynb" "b/Python Numpy, Pandas \354\230\210\354\240\234\355\214\214\354\235\274/Pandas_\354\230\210\354\240\234.ipynb" new file mode 100644 index 0000000000000000000000000000000000000000..8237b6470a209fa0dbfdf05b344c9227ec93767c --- /dev/null +++ "b/Python Numpy, Pandas \354\230\210\354\240\234\355\214\214\354\235\274/Pandas_\354\230\210\354\240\234.ipynb" @@ -0,0 +1,893 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " name year points\n", + "0 YoungWoo 2013 1.5\n", + "1 DomgHo 2014 1.7\n", + "2 Minsu 2015 3.6\n", + "3 Hong 2016 2.4\n", + "4 Kwangsung 2015 2.9\n" + ] + } + ], + "source": [ + "data = {'name': ['YoungWoo', 'DomgHo', 'Minsu', 'Hong', 'Kwangsung'],\n", + " 'year': [2013, 2014, 2015, 2016, 2015],\n", + " 'points': [1.5, 1.7, 3.6, 2.4, 2.9]}\n", + "\n", + "df = pd.DataFrame(data)\n", + "print (df)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>name</th>\n", + " <th>year</th>\n", + " <th>points</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>YoungWoo</td>\n", + " <td>2013</td>\n", + " <td>1.5</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>DomgHo</td>\n", + " <td>2014</td>\n", + " <td>1.7</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>Minsu</td>\n", + " <td>2015</td>\n", + " <td>3.6</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>Hong</td>\n", + " <td>2016</td>\n", + " <td>2.4</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>Kwangsung</td>\n", + " <td>2015</td>\n", + " <td>2.9</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " name year points\n", + "0 YoungWoo 2013 1.5\n", + "1 DomgHo 2014 1.7\n", + "2 Minsu 2015 3.6\n", + "3 Hong 2016 2.4\n", + "4 Kwangsung 2015 2.9" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>ID</th>\n", + " <th>NAME</th>\n", + " <th>나이</th>\n", + " <th>점수</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>1</td>\n", + " <td>Kim</td>\n", + " <td>23</td>\n", + " <td>75</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>2</td>\n", + " <td>Lee</td>\n", + " <td>19</td>\n", + " <td>80</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>3</td>\n", + " <td>Choi</td>\n", + " <td>20</td>\n", + " <td>59</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>4</td>\n", + " <td>Song</td>\n", + " <td>23</td>\n", + " <td>90</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>5</td>\n", + " <td>Hwang</td>\n", + " <td>25</td>\n", + " <td>83</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " ID NAME 나이 점수\n", + "0 1 Kim 23 75\n", + "1 2 Lee 19 80\n", + "2 3 Choi 20 59\n", + "3 4 Song 23 90\n", + "4 5 Hwang 25 83" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "csv = pd.read_csv('C:/Users/김영우/jupyter/example.csv')\n", + "csv" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Index(['name', 'year', 'points'], dtype='object')\n", + "Index(['ID', 'NAME', '나이', '점수'], dtype='object')\n" + ] + } + ], + "source": [ + "print (df.columns)\n", + "print (csv.columns)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[['YoungWoo' 2013 1.5]\n", + " ['DomgHo' 2014 1.7]\n", + " ['Minsu' 2015 3.6]\n", + " ['Hong' 2016 2.4]\n", + " ['Kwangsung' 2015 2.9]]\n", + "[[1 'Kim' 23 75]\n", + " [2 'Lee' 19 80]\n", + " [3 'Choi' 20 59]\n", + " [4 'Song' 23 90]\n", + " [5 'Hwang' 25 83]]\n" + ] + } + ], + "source": [ + "print (df.values)\n", + "print (csv.values)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>year</th>\n", + " <th>points</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>count</th>\n", + " <td>5.000000</td>\n", + " <td>5.000000</td>\n", + " </tr>\n", + " <tr>\n", + " <th>mean</th>\n", + " <td>2014.600000</td>\n", + " <td>2.420000</td>\n", + " </tr>\n", + " <tr>\n", + " <th>std</th>\n", + " <td>1.140175</td>\n", + " <td>0.864292</td>\n", + " </tr>\n", + " <tr>\n", + " <th>min</th>\n", + " <td>2013.000000</td>\n", + " <td>1.500000</td>\n", + " </tr>\n", + " <tr>\n", + " <th>25%</th>\n", + " <td>2014.000000</td>\n", + " <td>1.700000</td>\n", + " </tr>\n", + " <tr>\n", + " <th>50%</th>\n", + " <td>2015.000000</td>\n", + " <td>2.400000</td>\n", + " </tr>\n", + " <tr>\n", + " <th>75%</th>\n", + " <td>2015.000000</td>\n", + " <td>2.900000</td>\n", + " </tr>\n", + " <tr>\n", + " <th>max</th>\n", + " <td>2016.000000</td>\n", + " <td>3.600000</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " year points\n", + "count 5.000000 5.000000\n", + "mean 2014.600000 2.420000\n", + "std 1.140175 0.864292\n", + "min 2013.000000 1.500000\n", + "25% 2014.000000 1.700000\n", + "50% 2015.000000 2.400000\n", + "75% 2015.000000 2.900000\n", + "max 2016.000000 3.600000" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>ID</th>\n", + " <th>나이</th>\n", + " <th>점수</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>count</th>\n", + " <td>5.000000</td>\n", + " <td>5.00000</td>\n", + " <td>5.000000</td>\n", + " </tr>\n", + " <tr>\n", + " <th>mean</th>\n", + " <td>3.000000</td>\n", + " <td>22.00000</td>\n", + " <td>77.400000</td>\n", + " </tr>\n", + " <tr>\n", + " <th>std</th>\n", + " <td>1.581139</td>\n", + " <td>2.44949</td>\n", + " <td>11.631853</td>\n", + " </tr>\n", + " <tr>\n", + " <th>min</th>\n", + " <td>1.000000</td>\n", + " <td>19.00000</td>\n", + " <td>59.000000</td>\n", + " </tr>\n", + " <tr>\n", + " <th>25%</th>\n", + " <td>2.000000</td>\n", + " <td>20.00000</td>\n", + " <td>75.000000</td>\n", + " </tr>\n", + " <tr>\n", + " <th>50%</th>\n", + " <td>3.000000</td>\n", + " <td>23.00000</td>\n", + " <td>80.000000</td>\n", + " </tr>\n", + " <tr>\n", + " <th>75%</th>\n", + " <td>4.000000</td>\n", + " <td>23.00000</td>\n", + " <td>83.000000</td>\n", + " </tr>\n", + " <tr>\n", + " <th>max</th>\n", + " <td>5.000000</td>\n", + " <td>25.00000</td>\n", + " <td>90.000000</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " ID 나이 점수\n", + "count 5.000000 5.00000 5.000000\n", + "mean 3.000000 22.00000 77.400000\n", + "std 1.581139 2.44949 11.631853\n", + "min 1.000000 19.00000 59.000000\n", + "25% 2.000000 20.00000 75.000000\n", + "50% 3.000000 23.00000 80.000000\n", + "75% 4.000000 23.00000 83.000000\n", + "max 5.000000 25.00000 90.000000" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "csv.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>name</th>\n", + " <th>year</th>\n", + " <th>points</th>\n", + " <th>zero</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>YoungWoo</td>\n", + " <td>2013</td>\n", + " <td>1.5</td>\n", + " <td>0.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>DomgHo</td>\n", + " <td>2014</td>\n", + " <td>1.7</td>\n", + " <td>0.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>Minsu</td>\n", + " <td>2015</td>\n", + " <td>3.6</td>\n", + " <td>0.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>Hong</td>\n", + " <td>2016</td>\n", + " <td>2.4</td>\n", + " <td>0.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>Kwangsung</td>\n", + " <td>2015</td>\n", + " <td>2.9</td>\n", + " <td>0.0</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " name year points zero\n", + "0 YoungWoo 2013 1.5 0.0\n", + "1 DomgHo 2014 1.7 0.0\n", + "2 Minsu 2015 3.6 0.0\n", + "3 Hong 2016 2.4 0.0\n", + "4 Kwangsung 2015 2.9 0.0" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['zero'] = np.zeros(5)\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>ID</th>\n", + " <th>NAME</th>\n", + " <th>나이</th>\n", + " <th>점수</th>\n", + " <th>random</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>1</td>\n", + " <td>Kim</td>\n", + " <td>23</td>\n", + " <td>75</td>\n", + " <td>1.859625</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>2</td>\n", + " <td>Lee</td>\n", + " <td>19</td>\n", + " <td>80</td>\n", + " <td>0.588391</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>3</td>\n", + " <td>Choi</td>\n", + " <td>20</td>\n", + " <td>59</td>\n", + " <td>8.702442</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>4</td>\n", + " <td>Song</td>\n", + " <td>23</td>\n", + " <td>90</td>\n", + " <td>7.638486</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>5</td>\n", + " <td>Hwang</td>\n", + " <td>25</td>\n", + " <td>83</td>\n", + " <td>9.592227</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " ID NAME 나이 점수 random\n", + "0 1 Kim 23 75 1.859625\n", + "1 2 Lee 19 80 0.588391\n", + "2 3 Choi 20 59 8.702442\n", + "3 4 Song 23 90 7.638486\n", + "4 5 Hwang 25 83 9.592227" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "csv['random'] = np.random.rand(5)\n", + "csv['random'] *= 10\n", + "csv" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>name</th>\n", + " <th>year</th>\n", + " <th>points</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>YoungWoo</td>\n", + " <td>2013</td>\n", + " <td>1.5</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>DomgHo</td>\n", + " <td>2014</td>\n", + " <td>1.7</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>Minsu</td>\n", + " <td>2015</td>\n", + " <td>3.6</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>Hong</td>\n", + " <td>2016</td>\n", + " <td>2.4</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>Kwangsung</td>\n", + " <td>2015</td>\n", + " <td>2.9</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " name year points\n", + "0 YoungWoo 2013 1.5\n", + "1 DomgHo 2014 1.7\n", + "2 Minsu 2015 3.6\n", + "3 Hong 2016 2.4\n", + "4 Kwangsung 2015 2.9" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "del df['zero']\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>name</th>\n", + " <th>year</th>\n", + " <th>points</th>\n", + " <th>tens</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>YoungWoo</td>\n", + " <td>2013</td>\n", + " <td>1.5</td>\n", + " <td>10</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>DomgHo</td>\n", + " <td>2014</td>\n", + " <td>1.7</td>\n", + " <td>20</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>Minsu</td>\n", + " <td>2015</td>\n", + " <td>3.6</td>\n", + " <td>30</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>Hong</td>\n", + " <td>2016</td>\n", + " <td>2.4</td>\n", + " <td>40</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>Kwangsung</td>\n", + " <td>2015</td>\n", + " <td>2.9</td>\n", + " <td>50</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " name year points tens\n", + "0 YoungWoo 2013 1.5 10\n", + "1 DomgHo 2014 1.7 20\n", + "2 Minsu 2015 3.6 30\n", + "3 Hong 2016 2.4 40\n", + "4 Kwangsung 2015 2.9 50" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "val = pd.Series([10, 20, 30, 40, 50])\n", + "df['tens'] = val\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "name YoungWooDomgHoMinsuHongKwangsung\n", + "year 10073\n", + "points 12.1\n", + "tens 150\n", + "dtype: object\n", + "0 2024.5\n", + "1 2035.7\n", + "2 2048.6\n", + "3 2058.4\n", + "4 2067.9\n", + "dtype: float64\n", + "name DomgHo\n", + "year 2013\n", + "points 1.5\n", + "tens 10\n", + "dtype: object\n" + ] + } + ], + "source": [ + "print (df.sum(axis = 0))\n", + "print (df.sum(axis = 1))\n", + "print (df.min(axis = 0))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.8.6" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +}