Unverified Commit 719e352b authored by Simon Bowly's avatar Simon Bowly
Browse files

add revision exercises for ads1002

parent 26fea5c1
%% Cell type:markdown id:692d1a3a tags:
# Pandas Exercises
* These short exercises involve a combination of filtering, aggregating and joining data to test your knowledge.
* This is also a chance to make sure your notebook environment is working properly!
* Discuss in your group the different ways you could accomplish these tasks, and enter your answers as a group in the flux poll here: https://flux.qa/DSMGW7
* Take your time, and feel free to research/consult last semester's notes.
%% Cell type:code id:3f6fb082 tags:
``` python
import pandas as pd
# This dataframe represents a list of transactions from a very strange
# low-value auction. (I know, I'm not very creative).
sold_items = pd.DataFrame({
"sale_id": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
"type": [
"book", "photo", "book", "pen", "book",
"pen", "pen", "book", "pen", "pen"
],
"price": [
10, 5, 9, 1, 7, 0.9, 0.5, 15, 1.2, 0.5,
]
})
sold_items
```
%%%% Output: execute_result
sale_id type price
0 1 book 10.0
1 2 photo 5.0
2 3 book 9.0
3 4 pen 1.0
4 5 book 7.0
5 6 pen 0.9
6 7 pen 0.5
7 8 book 15.0
8 9 pen 1.2
9 10 pen 0.5
%% Cell type:markdown id:8bcebc54 tags:
Q1. Find a single line of code to count the number of items of each type (books, pens, photos) sold.
%% Cell type:code id:7fda3a5e tags:
``` python
```
%% Cell type:markdown id:e33f33c4 tags:
Q2. Find a single line of code to calculate the total value of all transactions.
%% Cell type:code id:b273da27 tags:
``` python
```
%% Cell type:markdown id:fdbf47d3 tags:
Q3. Find a single line of code to calculate some statistic (e.g. mean, max, std.dev) of the sale price of a pen in this auction.
%% Cell type:code id:648c4ec1 tags:
``` python
```
%% Cell type:code id:f8cb0c0c tags:
``` python
# This dataframe contains prices at which the auctioneer bought each item type.
bought_items = pd.DataFrame({
"type": ["book", "photo", "pen"],
"cost": [11, 6, 0.6],
})
bought_items
```
%%%% Output: execute_result
type cost
0 book 11.0
1 photo 6.0
2 pen 0.6
%% Cell type:markdown id:6a1e1490 tags:
Q4. Find a single line of code which creates a new dataframe with the 'bought' cost of each item included in the sold_items table.
%% Cell type:code id:81a34368 tags:
``` python
```
%% Cell type:markdown id:c28b0b63 tags:
Q5. Find a single line of code which returns a dataframe containing only the items for which the auctioneer made a profit.
%% Cell type:code id:a0cdad0d tags:
``` python
```
%% Cell type:markdown id:9a1ba051 tags:
Q6. Find code to recreate the histogram plot below.
%% Cell type:code id:068936d4 tags:
``` python
import seaborn as sns
```
%% Cell type:code id:d6199297 tags:
``` python
```
%%%% Output: execute_result
<AxesSubplot:xlabel='price', ylabel='Count'>
%%%% Output: display_data
![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXgAAAEGCAYAAABvtY4XAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAWmklEQVR4nO3de5RV5Z3m8e8vQEQjRgU0jlVQTEYJ3gJaEFp0TOO9jdHxGgMCktbxhpdktTFxrTFxZRk7uoyRQR2T9jKBRDsaTXdm2mi8tBLtGFDECzKanhKKsVuEiBg1WuY3f9QBy6IKqqiz61Tt+n7WqsU5++za71NcHna9tc+7IzORJJXPx2odQJJUDAtekkrKgpekkrLgJamkLHhJKqnBtQ7Q1ogRI7KhoaHWMSSp31i8ePHrmTmyo9f6VME3NDSwaNGiWseQpH4jIl7p7DWnaCSppCx4SSopC16SSqpPzcFL0ua8//77NDc38+6779Y6Sq8bOnQodXV1DBkypMufY8FL6jeam5sZNmwYDQ0NRESt4/SazGTNmjU0NzczZsyYLn+eUzSS+o13332X4cOHD6hyB4gIhg8f3u3vXAo9g4+IJmA98AHQkpmNRY4nqfwGWrlvsDVfd29M0fxlZr7eC+NIktpwikbSgPbGG29www031DpGIYou+ATuj4jFEXFWRztExFkRsSgiFq1evXqrB6ofXU9E9PpH/ej6rc4sqfbKXPBFT9EclJmrImIX4IGIeDEzH227Q2beDNwM0NjYuNW3l2pe0cy8p+f1LO1WOG/Ceb0+pqTqufTSS/n973/P+PHj2WOPPZg2bRrHH388ANOmTeOUU07hD3/4A/fccw/r1q1j1apVTJ8+ncsvvxyA+fPnc/311/Pee+/xuc99jhtuuIFBgwbV8Cv6UKFn8Jm5qvLra8A9wKQix5Ok7rrqqqv49Kc/zZIlSzj//PO57bbbAFi3bh2PP/44xxxzDABPPvkkd999N0uXLuVnP/sZixYtYtmyZdx555385je/YcmSJQwaNIgFCxbU8Kv5qMLO4CPiE8DHMnN95fERwBVFjSdJPXXIIYdw7rnnsnr1au6++25OPPFEBg9urcnDDz+c4cOHA3DCCSewcOFCBg8ezOLFi5k4cSIA77zzDrvsskvN8rdX5BTNrsA9lUt7BgM/ycz7ChxPknpsxowZzJ8/nzvuuINbb7114/b2lylGBJnJzJkz+e53v9vbMbuksILPzH8FPlvU8SWpGoYNG8b69es3Pp81axaTJk3iU5/6FHvttdfG7Q888ABr165l22235d577+WWW25hu+2247jjjuPiiy9ml112Ye3ataxfv57Ro0fX4kvZhEsVSBrQhg8fzpQpU9hnn304+uijufrqqxk3btzGH7RuMGnSJE488USam5uZPn06jY2t79v8zne+wxFHHMGf//xnhgwZwrx58yx4SeorfvKTn2x8/Pbbb/PSSy9x2mmnfWSfuro67r333k0+99RTT+XUU08tOuJW8Y1OklTx61//mnHjxjFnzhw++clP1jpOj3kGL0kVhx12GK+8sukd8GbNmsWsWbN6P1APeQYvSSVlwUtSSVnwklRSFrwklZQFL6nfqh81urqrw47a8vXrTU1N7LPPPj3O3tDQwOuvF3urDK+ikdRvNa9cwbX3L6/a8b56xNiqHasv8AxekrqppaWFadOmMW7cOE466STefvttHnzwQSZMmMC+++7L7Nmz+dOf/gTQ6fYN3nnnHY4++mh++MMfVj2nBS9J3bR8+XLOPfdcli1bxg477MC1117LrFmzuPPOO3n22WdpaWnhxhtv5N133+1w+wZvvfUWxx57LKeddhpnnnlm1XNa8JLUTfX19UyZMgWA6dOn8+CDDzJmzBj23HNPAGbOnMmjjz7K8uXLO9y+wXHHHccZZ5zBjBkzCslpwUtSN7VfOnjHHXfcquNMmTKF++67j8ytvpndZlnwktRNK1as4IknngBaFyprbGykqamJl19+GYAf//jHHHLIIYwdO7bD7RtcccUV7LTTTpx3XjG3/vQqGkn9Vl39qKpe+VJXP6pL+40dO5Z58+Yxe/Zs9tprL66//nomT57MySefTEtLCxMnTuTss89mm2224dZbb91ke1s/+MEPmD17Npdccgnf+973qva1gAUvqR9buWLThcGK1tDQwIsvvrjJ9kMPPZSnn366y9ubmpo2Pm5756hqcopGkkrKgpekkrLgJamkLHhJKikLXpJKyoKXpJKy4CX1Ww2j6qq6XHDDqLqtz9LN5X8feeQRHn/88a0eryu8Dl5Sv/XKylXkQ1dW7Xgx9ZtVO9aWPPLII2y//fYceOCBhY3hGbwkdUNTUxOf+cxnNlkuGGDu3Lnsv//+7LvvvhvfDLV2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)
%% Cell type:markdown id:b337513f tags:
Q7. Find code to recreate the scatter plot below.
%% Cell type:code id:79baeb3e tags:
``` python
```
%%%% Output: execute_result
<seaborn.axisgrid.FacetGrid at 0x7f4fd49b6dc0>
%%%% Output: display_data
![](data:image/png;base64,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)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment