Skip to content

Instantly share code, notes, and snippets.

@ischurov
Created March 2, 2018 14:18
Show Gist options
  • Save ischurov/1f24d93ad33f8ca05ea7c32115951ea6 to your computer and use it in GitHub Desktop.
Save ischurov/1f24d93ad33f8ca05ea7c32115951ea6 to your computer and use it in GitHub Desktop.
ICEF Python 2018 Lecture 3
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {},
"cell_type": "markdown",
"source": "## Python ICEF 2018, занятие 3\n*Илья Щуров*\n\nСырой конспект занятия.\n\nПодробнее см. на [странице курса](http://math-info.hse.ru/s17/k). "
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "\nx = 0\ndef foo():\n x = 1\n def bar():\n global x\n x = 100\n print(\"x inside bar\", x)\n print(\"x inside foo\", x)\n bar()\nfoo()\nprint(\"x in global frame\", x)",
"execution_count": 4,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "x inside foo 1\nx inside bar 100\nx in global frame 100\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "x = 0\ndef foo():\n x = 1\n def bar():\n nonlocal x\n x = 100\n print(\"x inside bar\", x)\n print(\"x inside foo\", x)\n bar()\nfoo()\nprint(\"x in global frame\", x)",
"execution_count": 5,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "x inside foo 1\nx inside bar 100\nx in global frame 0\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "table = [[1, 2], [3, 4], [5, 6]]\nnew_table = table.copy()\nnew_table[0][0] = 100\ntable",
"execution_count": 6,
"outputs": [
{
"data": {
"text/plain": "[[100, 2], [3, 4], [5, 6]]"
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "my_list = [1, 6, 3, 10, 2]\nmy_list.sort()\nmy_list",
"execution_count": 7,
"outputs": [
{
"data": {
"text/plain": "[1, 2, 3, 6, 10]"
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "my_list.sort(reverse=True)",
"execution_count": 8,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "my_list",
"execution_count": 9,
"outputs": [
{
"data": {
"text/plain": "[10, 6, 3, 2, 1]"
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "my_list = [1, 6, 3, 10, 2]\nsorted_list = sorted(my_list, reverse=True)",
"execution_count": 13,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "my_list",
"execution_count": 14,
"outputs": [
{
"data": {
"text/plain": "[1, 6, 3, 10, 2]"
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "sorted_list",
"execution_count": 15,
"outputs": [
{
"data": {
"text/plain": "[10, 6, 3, 2, 1]"
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "names = ['Dan', 'Bob', 'Alice']\nsorted(names)",
"execution_count": 16,
"outputs": [
{
"data": {
"text/plain": "['Alice', 'Bob', 'Dan']"
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "'Dan' < 'Bob'",
"execution_count": 17,
"outputs": [
{
"data": {
"text/plain": "False"
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "'Ф' < 'Z'",
"execution_count": 18,
"outputs": [
{
"data": {
"text/plain": "False"
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "'Aa' < 'Ab'",
"execution_count": 19,
"outputs": [
{
"data": {
"text/plain": "True"
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "'Aa' < 'A'",
"execution_count": 20,
"outputs": [
{
"data": {
"text/plain": "False"
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "'A' < 'a'",
"execution_count": 22,
"outputs": [
{
"data": {
"text/plain": "True"
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "(1, 2) < (2, 1)",
"execution_count": 24,
"outputs": [
{
"data": {
"text/plain": "True"
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "(1, 2) == (2, 1)",
"execution_count": 25,
"outputs": [
{
"data": {
"text/plain": "False"
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "table = [[1, 2, 3],\n [10, 1, 1],\n [10, 0, 7]]\nsorted(table)",
"execution_count": 28,
"outputs": [
{
"data": {
"text/plain": "[[1, 2, 3], [10, 0, 7], [10, 1, 1]]"
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "def subs2(f):\n return f(2)",
"execution_count": 29,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "from math import sqrt",
"execution_count": 30,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "subs2(sqrt)",
"execution_count": 31,
"outputs": [
{
"data": {
"text/plain": "1.4142135623730951"
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "def plusodin(x):\n return x + 1",
"execution_count": 32,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "subs2(plusodin)",
"execution_count": 33,
"outputs": [
{
"data": {
"text/plain": "3"
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "strings = [\"World\", \"Hello\", \"Aaaaaaaa\", \"Bbb\", \"q\"]\nsorted(strings, key=len)",
"execution_count": 35,
"outputs": [
{
"data": {
"text/plain": "['q', 'Bbb', 'World', 'Hello', 'Aaaaaaaa']"
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "table = [[1, 2, 3],\n [10, 1, 1],\n [10, 0, 7]]\ndef get_last(row):\n return row[-1]\nsorted(table, key=get_last)",
"execution_count": 36,
"outputs": [
{
"data": {
"text/plain": "[[10, 1, 1], [1, 2, 3], [10, 0, 7]]"
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "from operator import itemgetter",
"execution_count": 37,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "get_last = itemgetter(-1)",
"execution_count": 38,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "get_last([5, 8, 12])",
"execution_count": 39,
"outputs": [
{
"data": {
"text/plain": "12"
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "sorted(table, key=itemgetter(-1))",
"execution_count": 40,
"outputs": [
{
"data": {
"text/plain": "[[10, 1, 1], [1, 2, 3], [10, 0, 7]]"
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "dictionary = {\"z\": 3, \"b\": 5, \"e\": 2}",
"execution_count": 42,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "for k, v in dictionary.items():\n print(k, v)",
"execution_count": 44,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "z 3\nb 5\ne 2\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "dictionary",
"execution_count": 45,
"outputs": [
{
"data": {
"text/plain": "{'b': 5, 'e': 2, 'z': 3}"
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "for k, v in sorted(dictionary.items()):\n print(k, v)",
"execution_count": 46,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "b 5\ne 2\nz 3\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "dictionary.items()",
"execution_count": 51,
"outputs": [
{
"data": {
"text/plain": "dict_items([('z', 3), ('b', 5), ('e', 2)])"
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "for k, v in sorted(dictionary.items(), key=itemgetter(1)):\n print(k, v)",
"execution_count": 47,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "e 2\nz 3\nb 5\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "dictionary = {\"z\": 3, \"b\": 5, \"e\": 2}\n\ndef get_value(k):\n return dictionary[k]\n\nfor k in sorted(dictionary, key=get_value):\n print(k, dictionary[k])",
"execution_count": 49,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "e 2\nz 3\nb 5\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "sorted(dictionary.values())",
"execution_count": 50,
"outputs": [
{
"data": {
"text/plain": "[2, 3, 5]"
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "for k in sorted(dictionary, key=lambda k: dictionary[k]):\n print(k, dictionary[k])",
"execution_count": 52,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "e 2\nz 3\nb 5\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "sq = lambda x: x ** 2",
"execution_count": 53,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "sq(5)",
"execution_count": 54,
"outputs": [
{
"data": {
"text/plain": "25"
},
"execution_count": 54,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "(lambda x: x + 1)(3)",
"execution_count": 55,
"outputs": [
{
"data": {
"text/plain": "4"
},
"execution_count": 55,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "def sq(x):\n return x ** 2",
"execution_count": 56,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "(lambda x, y: x + y)(6, 7)",
"execution_count": 57,
"outputs": [
{
"data": {
"text/plain": "13"
},
"execution_count": 57,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "f = open(\"untitled.txt\")\nfor line in f:\n print(line.rstrip())\nf.close()",
"execution_count": 61,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "Haha\n123\nHello word!\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "f = open(\"untitled.txt\")\nfor line in f:\n print(line)\nf.close()",
"execution_count": 68,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "Haha\n\n123\n\nHello word!\n\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "print(\"a\")\nprint(\"b\")",
"execution_count": 69,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "a\nb\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "f = open(\"untitled.txt\")\nfor line in f:\n print(line)\nprint(\"Once again\")\nfor line in f:\n print(line)\nf.close()",
"execution_count": 70,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "Haha\n\n123\n\nHello word!\n\nOnce again\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "f = open(\"untitled.txt\")\nfor line in f:\n print(line)\nprint(\"Once again\")\nf.seek(1)\nfor line in f:\n print(line)\nf.close()",
"execution_count": 73,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "Haha\n\n123\n\nHello word!\n\nOnce again\naha\n\n123\n\nHello word!\n\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "f = open(\"untitled.txt\")\nlines = f.readlines()\nf.close()\nprint(lines)",
"execution_count": 74,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "['Haha\\n', '123\\n', 'Hello word!\\n']\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "f = open(\"other.txt\", \"x\")\nprint(\"Hello\", file=f)\nf.close()",
"execution_count": 78,
"outputs": [
{
"ename": "FileExistsError",
"evalue": "[Errno 17] File exists: 'other.txt'",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mFileExistsError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-78-9b38410c1992>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"other.txt\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"x\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Hello\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfile\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mclose\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mFileExistsError\u001b[0m: [Errno 17] File exists: 'other.txt'"
]
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# f = open(\"untitled.txt\")\nwith open(\"untitled.txt\") as f:\n for line in f:\n print(line)\n print(f.closed)\nprint(f.closed)",
"execution_count": 79,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "Haha\n\n123\n\nHello word!\n\nFalse\nTrue\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "import pandas as pd",
"execution_count": 80,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series = pd.Series([1, 10, 5, 3], index=['a', 'b', 'c', 'd'])",
"execution_count": 86,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series['a']",
"execution_count": 87,
"outputs": [
{
"data": {
"text/plain": "1"
},
"execution_count": 87,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series[0]",
"execution_count": 89,
"outputs": [
{
"data": {
"text/plain": "1"
},
"execution_count": 89,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series",
"execution_count": 90,
"outputs": [
{
"data": {
"text/plain": "a 1\nb 10\nc 5\nd 3\ndtype: int64"
},
"execution_count": 90,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series = pd.Series([1, 10, 5, 3], index=[7, 3, 6, 2])",
"execution_count": 91,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series",
"execution_count": 92,
"outputs": [
{
"data": {
"text/plain": "7 1\n3 10\n6 5\n2 3\ndtype: int64"
},
"execution_count": 92,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series[6]",
"execution_count": 93,
"outputs": [
{
"data": {
"text/plain": "5"
},
"execution_count": 93,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series[6] = 'hello'",
"execution_count": 94,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series",
"execution_count": 95,
"outputs": [
{
"data": {
"text/plain": "7 1\n3 10\n6 hello\n2 3\ndtype: object"
},
"execution_count": 95,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series = pd.Series([1, 10, 5, 3], index=[7, 3, 6, 2])",
"execution_count": 96,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series[-1]",
"execution_count": 98,
"outputs": [
{
"ename": "KeyError",
"evalue": "-1",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-98-c88a016a5281>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mseries\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m/usr/local/lib/python3.6/site-packages/pandas/core/series.py\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 621\u001b[0m \u001b[0mkey\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcom\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_apply_if_callable\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 622\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 623\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_value\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 624\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 625\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mis_scalar\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mresult\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/usr/local/lib/python3.6/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36mget_value\u001b[0;34m(self, series, key)\u001b[0m\n\u001b[1;32m 2558\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2559\u001b[0m return self._engine.get_value(s, k,\n\u001b[0;32m-> 2560\u001b[0;31m tz=getattr(series.dtype, 'tz', None))\n\u001b[0m\u001b[1;32m 2561\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2562\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m0\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minferred_type\u001b[0m \u001b[0;32min\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m'integer'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'boolean'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_value\u001b[0;34m()\u001b[0m\n",
"\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_value\u001b[0;34m()\u001b[0m\n",
"\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n",
"\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.Int64HashTable.get_item\u001b[0;34m()\u001b[0m\n",
"\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.Int64HashTable.get_item\u001b[0;34m()\u001b[0m\n",
"\u001b[0;31mKeyError\u001b[0m: -1"
]
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series",
"execution_count": 100,
"outputs": [
{
"ename": "KeyError",
"evalue": "0",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-100-02ba0e112000>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mseries\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m/usr/local/lib/python3.6/site-packages/pandas/core/series.py\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 621\u001b[0m \u001b[0mkey\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcom\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_apply_if_callable\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 622\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 623\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_value\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 624\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 625\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mis_scalar\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mresult\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/usr/local/lib/python3.6/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36mget_value\u001b[0;34m(self, series, key)\u001b[0m\n\u001b[1;32m 2558\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2559\u001b[0m return self._engine.get_value(s, k,\n\u001b[0;32m-> 2560\u001b[0;31m tz=getattr(series.dtype, 'tz', None))\n\u001b[0m\u001b[1;32m 2561\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2562\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m0\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minferred_type\u001b[0m \u001b[0;32min\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m'integer'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'boolean'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_value\u001b[0;34m()\u001b[0m\n",
"\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_value\u001b[0;34m()\u001b[0m\n",
"\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n",
"\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.Int64HashTable.get_item\u001b[0;34m()\u001b[0m\n",
"\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.Int64HashTable.get_item\u001b[0;34m()\u001b[0m\n",
"\u001b[0;31mKeyError\u001b[0m: 0"
]
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series",
"execution_count": 101,
"outputs": [
{
"data": {
"text/plain": "7 1\n3 10\n6 5\n2 3\ndtype: int64"
},
"execution_count": 101,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "calculus = pd.Series([3, 4, 2], index=['Alice', 'Bob', 'Claudia'])\ngeometry = pd.Series([5, 2, 3], index=[ 'Bob', 'Alice','Dan'])",
"execution_count": 102,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "calculus",
"execution_count": 103,
"outputs": [
{
"data": {
"text/plain": "Alice 3\nBob 4\nClaudia 2\ndtype: int64"
},
"execution_count": 103,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "geometry",
"execution_count": 104,
"outputs": [
{
"data": {
"text/plain": "Bob 5\nAlice 2\nDan 3\ndtype: int64"
},
"execution_count": 104,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "calculus + geometry",
"execution_count": 105,
"outputs": [
{
"data": {
"text/plain": "Alice 5.0\nBob 9.0\nClaudia NaN\nDan NaN\ndtype: float64"
},
"execution_count": 105,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series = pd.Series([0, 10, 20, 30])",
"execution_count": 106,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series",
"execution_count": 107,
"outputs": [
{
"data": {
"text/plain": "0 0\n1 10\n2 20\n3 30\ndtype: int64"
},
"execution_count": 107,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series[0:2]",
"execution_count": 108,
"outputs": [
{
"data": {
"text/plain": "0 0\n1 10\ndtype: int64"
},
"execution_count": 108,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series = pd.Series([0, 10, 20, 30], index=['a', 'b', 'c', 'd'])\nseries['a':'c']",
"execution_count": 109,
"outputs": [
{
"data": {
"text/plain": "a 0\nb 10\nc 20\ndtype: int64"
},
"execution_count": 109,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series = pd.Series([0, 10, 20, 30], index=[1, 3, 4, 5])",
"execution_count": 111,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series[1:3]",
"execution_count": 112,
"outputs": [
{
"data": {
"text/plain": "3 10\n4 20\ndtype: int64"
},
"execution_count": 112,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series.loc[3]",
"execution_count": 122,
"outputs": [
{
"data": {
"text/plain": "10"
},
"execution_count": 122,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series.iloc[3]",
"execution_count": 123,
"outputs": [
{
"data": {
"text/plain": "30"
},
"execution_count": 123,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series = pd.Series([0, 10, 20], index=['zq', 'az', 'aa'])",
"execution_count": 129,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series.loc['az':'zq']",
"execution_count": 130,
"outputs": [
{
"data": {
"text/plain": "Series([], dtype: int64)"
},
"execution_count": 130,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series.loc['az':'bb']",
"execution_count": 126,
"outputs": [
{
"ename": "KeyError",
"evalue": "'bb'",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m/usr/local/lib/python3.6/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36mget_slice_bound\u001b[0;34m(self, label, side, kind)\u001b[0m\n\u001b[1;32m 3590\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3591\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_searchsorted_monotonic\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlabel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mside\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3592\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mValueError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/usr/local/lib/python3.6/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36m_searchsorted_monotonic\u001b[0;34m(self, label, side)\u001b[0m\n\u001b[1;32m 3549\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3550\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'index must be monotonic increasing or decreasing'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3551\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mValueError\u001b[0m: index must be monotonic increasing or decreasing",
"\nDuring handling of the above exception, another exception occurred:\n",
"\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-126-4f0132240f14>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mseries\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mloc\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'az'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m'bb'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m/usr/local/lib/python3.6/site-packages/pandas/core/indexing.py\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 1371\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1372\u001b[0m \u001b[0mmaybe_callable\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcom\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_apply_if_callable\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mobj\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1373\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_axis\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmaybe_callable\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1374\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1375\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_is_scalar_access\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/usr/local/lib/python3.6/site-packages/pandas/core/indexing.py\u001b[0m in \u001b[0;36m_getitem_axis\u001b[0;34m(self, key, axis)\u001b[0m\n\u001b[1;32m 1579\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mslice\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1580\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_has_valid_type\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1581\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_slice_axis\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1582\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mis_bool_indexer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1583\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getbool_axis\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/usr/local/lib/python3.6/site-packages/pandas/core/indexing.py\u001b[0m in \u001b[0;36m_get_slice_axis\u001b[0;34m(self, slice_obj, axis)\u001b[0m\n\u001b[1;32m 1404\u001b[0m \u001b[0mlabels\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mobj\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_axis\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1405\u001b[0m indexer = labels.slice_indexer(slice_obj.start, slice_obj.stop,\n\u001b[0;32m-> 1406\u001b[0;31m slice_obj.step, kind=self.name)\n\u001b[0m\u001b[1;32m 1407\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1408\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mindexer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mslice\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/usr/local/lib/python3.6/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36mslice_indexer\u001b[0;34m(self, start, end, step, kind)\u001b[0m\n\u001b[1;32m 3455\u001b[0m \"\"\"\n\u001b[1;32m 3456\u001b[0m start_slice, end_slice = self.slice_locs(start, end, step=step,\n\u001b[0;32m-> 3457\u001b[0;31m kind=kind)\n\u001b[0m\u001b[1;32m 3458\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3459\u001b[0m \u001b[0;31m# return a slice\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/usr/local/lib/python3.6/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36mslice_locs\u001b[0;34m(self, start, end, step, kind)\u001b[0m\n\u001b[1;32m 3662\u001b[0m \u001b[0mend_slice\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3663\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mend\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3664\u001b[0;31m \u001b[0mend_slice\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_slice_bound\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mend\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'right'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkind\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3665\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mend_slice\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3666\u001b[0m \u001b[0mend_slice\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/usr/local/lib/python3.6/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36mget_slice_bound\u001b[0;34m(self, label, side, kind)\u001b[0m\n\u001b[1;32m 3592\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mValueError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3593\u001b[0m \u001b[0;31m# raise the original KeyError\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3594\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3595\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3596\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mslc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndarray\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/usr/local/lib/python3.6/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36mget_slice_bound\u001b[0;34m(self, label, side, kind)\u001b[0m\n\u001b[1;32m 3586\u001b[0m \u001b[0;31m# we need to look up the label\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3587\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3588\u001b[0;31m \u001b[0mslc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_loc_only_exact_matches\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlabel\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3589\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3590\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/usr/local/lib/python3.6/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36m_get_loc_only_exact_matches\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 3555\u001b[0m \u001b[0mget_slice_bound\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3556\u001b[0m \"\"\"\n\u001b[0;32m-> 3557\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3558\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3559\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mget_slice_bound\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mside\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkind\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/usr/local/lib/python3.6/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36mget_loc\u001b[0;34m(self, key, method, tolerance)\u001b[0m\n\u001b[1;32m 2525\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2526\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2527\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_maybe_cast_indexer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2528\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2529\u001b[0m \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_indexer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmethod\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtolerance\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtolerance\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n",
"\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n",
"\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n",
"\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n",
"\u001b[0;31mKeyError\u001b[0m: 'bb'"
]
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series = pd.Series([1, 2, -5, 3, -7])",
"execution_count": 133,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series[series > 0]",
"execution_count": 135,
"outputs": [
{
"data": {
"text/plain": "0 1\n1 2\n3 3\ndtype: int64"
},
"execution_count": 135,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series + 2",
"execution_count": 136,
"outputs": [
{
"data": {
"text/plain": "0 3\n1 4\n2 -3\n3 5\n4 -5\ndtype: int64"
},
"execution_count": 136,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series > 0",
"execution_count": 137,
"outputs": [
{
"data": {
"text/plain": "0 True\n1 True\n2 False\n3 True\n4 False\ndtype: bool"
},
"execution_count": 137,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series[series > 0]",
"execution_count": 144,
"outputs": [
{
"data": {
"text/plain": "0 1\n1 2\n3 3\ndtype: int64"
},
"execution_count": 144,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series[series > 0].index[2]",
"execution_count": 148,
"outputs": [
{
"data": {
"text/plain": "3"
},
"execution_count": 148,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series[series > 0] = 100",
"execution_count": 149,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series",
"execution_count": 150,
"outputs": [
{
"data": {
"text/plain": "0 100\n1 100\n2 -5\n3 100\n4 -7\ndtype: int64"
},
"execution_count": 150,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series = pd.Series([1, 2, -5, 3, -7])",
"execution_count": 151,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "series[(~(series > 0)) & (series % 2 == 1)]",
"execution_count": 158,
"outputs": [
{
"data": {
"text/plain": "2 -5\n4 -7\ndtype: int64"
},
"execution_count": 158,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "(series > 0)",
"execution_count": 154,
"outputs": [
{
"data": {
"text/plain": "0 True\n1 True\n2 False\n3 True\n4 False\ndtype: bool"
},
"execution_count": 154,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "(series % 2 == 1)",
"execution_count": 155,
"outputs": [
{
"data": {
"text/plain": "0 True\n1 False\n2 True\n3 True\n4 True\ndtype: bool"
},
"execution_count": 155,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "numbers = [1, 2, 3] * 100000",
"execution_count": 159,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "numbers[:7]",
"execution_count": 163,
"outputs": [
{
"data": {
"text/plain": "[1, 2, 3, 1, 2, 3, 1]"
},
"execution_count": 163,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "len(numbers)",
"execution_count": 160,
"outputs": [
{
"data": {
"text/plain": "300000"
},
"execution_count": 160,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "%%timeit\nsquares = [x ** 2 for x in numbers]",
"execution_count": 165,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "145 ms ± 24 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "ser_numbers = pd.Series(numbers)",
"execution_count": 166,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "%%timeit\nser_sq = ser_numbers ** 2",
"execution_count": 168,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "816 µs ± 43.6 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook = pd.DataFrame([[3, 4, 5],\n [2, 5, 7],\n [3, 5, 2]], \n index=['Alice', 'Bob', 'Dan'],\n columns=['Algebra', 'Geometry',\n 'Calculus'])",
"execution_count": 169,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook.dtypes",
"execution_count": 171,
"outputs": [
{
"data": {
"text/plain": "Algebra int64\nGeometry int64\nCalculus int64\ndtype: object"
},
"execution_count": 171,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook['Algebra']",
"execution_count": 173,
"outputs": [
{
"data": {
"text/plain": "Alice 3\nBob 2\nDan 3\nName: Algebra, dtype: int64"
},
"execution_count": 173,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook.loc['Alice']",
"execution_count": 174,
"outputs": [
{
"data": {
"text/plain": "Algebra 3\nGeometry 4\nCalculus 5\nName: Alice, dtype: int64"
},
"execution_count": 174,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook.loc['Alice', 'Algebra']",
"execution_count": 175,
"outputs": [
{
"data": {
"text/plain": "3"
},
"execution_count": 175,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook.loc['Alice':'Bob', 'Algebra']",
"execution_count": 181,
"outputs": [
{
"data": {
"text/plain": "Alice 3\nBob 2\nName: Algebra, dtype: int64"
},
"execution_count": 181,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook",
"execution_count": 178,
"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>Algebra</th>\n <th>Geometry</th>\n <th>Calculus</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Alice</th>\n <td>3</td>\n <td>4</td>\n <td>5</td>\n </tr>\n <tr>\n <th>Bob</th>\n <td>2</td>\n <td>5</td>\n <td>7</td>\n </tr>\n <tr>\n <th>Dan</th>\n <td>3</td>\n <td>5</td>\n <td>2</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " Algebra Geometry Calculus\nAlice 3 4 5\nBob 2 5 7\nDan 3 5 2"
},
"execution_count": 178,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook['Alice':'Bob']",
"execution_count": 188,
"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>Algebra</th>\n <th>Geometry</th>\n <th>Calculus</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Alice</th>\n <td>3</td>\n <td>4</td>\n <td>5</td>\n </tr>\n <tr>\n <th>Bob</th>\n <td>2</td>\n <td>5</td>\n <td>7</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " Algebra Geometry Calculus\nAlice 3 4 5\nBob 2 5 7"
},
"execution_count": 188,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook.loc['Alice']",
"execution_count": 189,
"outputs": [
{
"data": {
"text/plain": "Algebra 3\nGeometry 4\nCalculus 5\nName: Alice, dtype: int64"
},
"execution_count": 189,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook.loc[:,'Algebra':'Geometry']",
"execution_count": 193,
"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>Algebra</th>\n <th>Geometry</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Alice</th>\n <td>3</td>\n <td>4</td>\n </tr>\n <tr>\n <th>Bob</th>\n <td>2</td>\n <td>5</td>\n </tr>\n <tr>\n <th>Dan</th>\n <td>3</td>\n <td>5</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " Algebra Geometry\nAlice 3 4\nBob 2 5\nDan 3 5"
},
"execution_count": 193,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook.mean(axis=1)",
"execution_count": 195,
"outputs": [
{
"data": {
"text/plain": "Alice 4.000000\nBob 4.666667\nDan 3.333333\ndtype: float64"
},
"execution_count": 195,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook.mean()",
"execution_count": 196,
"outputs": [
{
"data": {
"text/plain": "Algebra 2.666667\nGeometry 4.666667\nCalculus 4.666667\ndtype: float64"
},
"execution_count": 196,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook.max(axis=1)",
"execution_count": 197,
"outputs": [
{
"data": {
"text/plain": "Alice 5\nBob 7\nDan 5\ndtype: int64"
},
"execution_count": 197,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook.max()",
"execution_count": 198,
"outputs": [
{
"data": {
"text/plain": "Algebra 3\nGeometry 5\nCalculus 7\ndtype: int64"
},
"execution_count": 198,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook.loc['Alice']",
"execution_count": 199,
"outputs": [
{
"data": {
"text/plain": "Algebra 3\nGeometry 4\nCalculus 5\nName: Alice, dtype: int64"
},
"execution_count": 199,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook.T",
"execution_count": 200,
"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>Alice</th>\n <th>Bob</th>\n <th>Dan</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Algebra</th>\n <td>3</td>\n <td>2</td>\n <td>3</td>\n </tr>\n <tr>\n <th>Geometry</th>\n <td>4</td>\n <td>5</td>\n <td>5</td>\n </tr>\n <tr>\n <th>Calculus</th>\n <td>5</td>\n <td>7</td>\n <td>2</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " Alice Bob Dan\nAlgebra 3 2 3\nGeometry 4 5 5\nCalculus 5 7 2"
},
"execution_count": 200,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook['Music'] = 3",
"execution_count": 201,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook.loc['Aaa'] = 5",
"execution_count": 204,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook.loc['Alice', 'Algebra'] = 5",
"execution_count": 206,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook",
"execution_count": 207,
"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>Algebra</th>\n <th>Geometry</th>\n <th>Calculus</th>\n <th>Music</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Alice</th>\n <td>5</td>\n <td>4</td>\n <td>5</td>\n <td>3</td>\n </tr>\n <tr>\n <th>Bob</th>\n <td>2</td>\n <td>5</td>\n <td>7</td>\n <td>3</td>\n </tr>\n <tr>\n <th>Dan</th>\n <td>3</td>\n <td>5</td>\n <td>2</td>\n <td>3</td>\n </tr>\n <tr>\n <th>Aaa</th>\n <td>5</td>\n <td>5</td>\n <td>5</td>\n <td>5</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " Algebra Geometry Calculus Music\nAlice 5 4 5 3\nBob 2 5 7 3\nDan 3 5 2 3\nAaa 5 5 5 5"
},
"execution_count": 207,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook.drop('Aaa', inplace=True)",
"execution_count": 210,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook",
"execution_count": 211,
"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>Algebra</th>\n <th>Geometry</th>\n <th>Calculus</th>\n <th>Music</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Alice</th>\n <td>5</td>\n <td>4</td>\n <td>5</td>\n <td>3</td>\n </tr>\n <tr>\n <th>Bob</th>\n <td>2</td>\n <td>5</td>\n <td>7</td>\n <td>3</td>\n </tr>\n <tr>\n <th>Dan</th>\n <td>3</td>\n <td>5</td>\n <td>2</td>\n <td>3</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " Algebra Geometry Calculus Music\nAlice 5 4 5 3\nBob 2 5 7 3\nDan 3 5 2 3"
},
"execution_count": 211,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook.drop('Music', axis=1, inplace=True)",
"execution_count": 212,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook",
"execution_count": 213,
"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>Algebra</th>\n <th>Geometry</th>\n <th>Calculus</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Alice</th>\n <td>5</td>\n <td>4</td>\n <td>5</td>\n </tr>\n <tr>\n <th>Bob</th>\n <td>2</td>\n <td>5</td>\n <td>7</td>\n </tr>\n <tr>\n <th>Dan</th>\n <td>3</td>\n <td>5</td>\n <td>2</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " Algebra Geometry Calculus\nAlice 5 4 5\nBob 2 5 7\nDan 3 5 2"
},
"execution_count": 213,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook.to_csv(\"table.csv\")",
"execution_count": 214,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook.iloc[0]",
"execution_count": 215,
"outputs": [
{
"data": {
"text/plain": "Algebra 5\nGeometry 4\nCalculus 5\nName: Alice, dtype: int64"
},
"execution_count": 215,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook.iloc[:, 0]",
"execution_count": 216,
"outputs": [
{
"data": {
"text/plain": "Alice 5\nBob 2\nDan 3\nName: Algebra, dtype: int64"
},
"execution_count": 216,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "import sys\n!\"{sys.executable}\" -m pip install openpyxl",
"execution_count": 218,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "Collecting openpyxl\n Downloading openpyxl-2.5.0.tar.gz (169kB)\n\u001b[K 100% |████████████████████████████████| 174kB 1.3MB/s ta 0:00:01\n\u001b[?25hCollecting jdcal (from openpyxl)\n Downloading jdcal-1.3.tar.gz\nCollecting et_xmlfile (from openpyxl)\n Downloading et_xmlfile-1.0.1.tar.gz\nBuilding wheels for collected packages: openpyxl, jdcal, et-xmlfile\n Running setup.py bdist_wheel for openpyxl ... \u001b[?25ldone\n\u001b[?25h Stored in directory: /Users/user/Library/Caches/pip/wheels/a7/88/96/29c1f91ba5a9b94dfc39a9f6f72d0eb92d6f0d917cf2341a3f\n Running setup.py bdist_wheel for jdcal ... \u001b[?25ldone\n\u001b[?25h Stored in directory: /Users/user/Library/Caches/pip/wheels/0f/63/92/19ac65ed64189de4d662f269d39dd08a887258842ad2f29549\n Running setup.py bdist_wheel for et-xmlfile ... \u001b[?25ldone\n\u001b[?25h Stored in directory: /Users/user/Library/Caches/pip/wheels/99/f6/53/5e18f3ff4ce36c990fa90ebdf2b80cd9b44dc461f750a1a77c\nSuccessfully built openpyxl jdcal et-xmlfile\nInstalling collected packages: jdcal, et-xmlfile, openpyxl\nSuccessfully installed et-xmlfile-1.0.1 jdcal-1.3 openpyxl-2.5.0\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gradebook.to_excel(\"table.xlsx\")",
"execution_count": 219,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "import os\nos.getcwd()",
"execution_count": 221,
"outputs": [
{
"data": {
"text/plain": "'/Users/user/prj/oldhse-2010-11/repo/2017-18/icef-python'"
},
"execution_count": 221,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"kernelspec": {
"name": "python3",
"display_name": "Python 3",
"language": "python"
},
"language_info": {
"name": "python",
"version": "3.6.4",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"gist": {
"id": "89e489f17f6d9090cd2bebf88401bab7",
"data": {
"description": "ICEF Python 2018 Lecture 3",
"public": true
}
},
"_draft": {
"nbviewer_url": "https://gist.github.com/89e489f17f6d9090cd2bebf88401bab7"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment