2023-programowanie-w-pythonie/zajecia2/zad_02.ipynb

337 lines
8.3 KiB
Plaintext
Raw Normal View History

2023-11-18 10:24:03 +01:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"1. Załaduj bibliotekę `pandas`."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"2. Wczytaj dane z pliku *mieszkania.csv* do zmiennej i wyświetl 5 pierwszych wierczy."
]
},
{
"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>Unnamed: 0</th>\n",
" <th>Id</th>\n",
" <th>Expected</th>\n",
" <th>Rooms</th>\n",
" <th>SqrMeters</th>\n",
" <th>Floor</th>\n",
" <th>Location</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>269000</td>\n",
" <td>3</td>\n",
" <td>55.00</td>\n",
" <td>1</td>\n",
" <td>Poznań Zawady</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>320000</td>\n",
" <td>3</td>\n",
" <td>79.00</td>\n",
" <td>10</td>\n",
" <td>Poznań Rataje ul. Orła Bialego</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2</td>\n",
" <td>3</td>\n",
" <td>146000</td>\n",
" <td>1</td>\n",
" <td>31.21</td>\n",
" <td>1</td>\n",
" <td>Poznań Nowe Miasto ul. Kawalerka W Nowym Bloku...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>189000</td>\n",
" <td>2</td>\n",
" <td>44.00</td>\n",
" <td>2</td>\n",
" <td>Poznań Grunwald Ogrody Jeżyce Centrum Łazarz u...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>480240</td>\n",
" <td>2</td>\n",
" <td>65.25</td>\n",
" <td>1</td>\n",
" <td>Poznań ul. Droga Dębińska 19</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Unnamed: 0 Id Expected Rooms SqrMeters Floor \\\n",
"0 0 1 269000 3 55.00 1 \n",
"1 1 2 320000 3 79.00 10 \n",
"2 2 3 146000 1 31.21 1 \n",
"3 3 4 189000 2 44.00 2 \n",
"4 4 5 480240 2 65.25 1 \n",
"\n",
" Location \n",
"0 Poznań Zawady \n",
"1 Poznań Rataje ul. Orła Bialego \n",
"2 Poznań Nowe Miasto ul. Kawalerka W Nowym Bloku... \n",
"3 Poznań Grunwald Ogrody Jeżyce Centrum Łazarz u... \n",
"4 Poznań ul. Droga Dębińska 19 "
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = pd.read_csv(\"./mieszkania.csv\")\n",
"\n",
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"3. Znajdź informacje ilu pokojowe mieszkania są najpopularniejsze i ile ich jest."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"2 2208\n",
"3 1553\n",
"1 620\n",
"4 523\n",
"5 81\n",
"6 13\n",
"10 1\n",
"7 1\n",
"Name: Rooms, dtype: int64"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df['Rooms'].value_counts()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"4. Znajdź 10 najtańszych mieszkań."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"5. Napisz funkcje ``find_borough(desc)``, która przyjmuje 1 argument typu *string* i zwróci jedną z dzielnic zdefiniowaną w liście ``dzielnice``. Funkcja ma zwrócić pierwszą (wzgledem kolejności) nazwę dzielnicy, która jest zawarta w ``desc``. Jeżeli żadna nazwa nie została odnaleziona, zwróć napis *Inne*."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"def find_borough(desc):\n",
" dzielnice = ['Stare Miasto',\n",
" 'Wilda',\n",
" 'Jeżyce',\n",
" 'Rataje',\n",
" 'Piątkowo',\n",
" 'Winogrady',\n",
" 'Miłostowo',\n",
" 'Dębiec']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"6. Dodaj kolumnę ``Borough``, która będzie zawierać informacje o dzielnicach i powstanie z kolumny ``Localization``. Wykorzystaj do tego funkcję ``find_borough``."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"7. Wyświetl histogram przedstawiający liczbę ogłoszeń mieszkań z podziałem na dzielnice."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"8. Znajdź średnią cenę mieszkania n-pokojowego."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"303861.86277173914"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[df['Rooms'] == 2]['Expected'].mean()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"9. Znajdź dzielnice, które zawierają oferty mieszkań na 13 piętrze."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"2195 Poznań Winogrady ul. Os. Wichrowe Wzgórze - Zm...\n",
"2773 Poznań Stare Miasto Winogrady ul. Os. Zwycięstwa\n",
"Name: Location, dtype: object"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.query('Floor == 13')['Location']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"10. Znajdź wszystkie ogłoszenia mieszkań, które znajdują się na Winogradach, mają 3 pokoje i są położone na 1 piętrze."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"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.9.13"
}
},
"nbformat": 4,
"nbformat_minor": 2
}