1
0
forked from tdwojak/Python2018
This commit is contained in:
s379489 2018-06-21 18:40:20 +02:00
parent ec22b8d4d7
commit 997cb94868
2 changed files with 45 additions and 27 deletions

42
labs06/task02.py Executable file → Normal file
View File

@ -1,14 +1,22 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pandas as pd
import matplotlib.pyplot as plt
def wczytaj_dane():
pass
df = pd.read_csv("./mieszkania.csv", sep=',', header=0)
return df
def most_common_room_number(dane):
pass
return dane['Rooms'].value_counts().idxmax()
def cheapest_flats(dane, n):
pass
return dane.sort_values(by='Expected').head(n)
def find_borough(desc):
dzielnice = ['Stare Miasto',
@ -19,36 +27,40 @@ def find_borough(desc):
'Winogrady',
'Miłostowo',
'Dębiec']
pass
return next((desc for i in dzielnice if desc in i), 'Inne')
def add_borough(dane):
pass
dane['Borough'] = dane['Location'].apply(find_borough)
def write_plot(dane, filename):
pass
dane['Borough'].value_counts().plot(x='Borough', y='Quantity of adwerts', kind='bar')
plt.savefig('./'+filename)
def mean_price(dane, room_number):
pass
return dane[dane["Rooms"] == room_number]["Expected"].mean()
def find_13(dane):
pass
return dane[dane["Floor"] == 13]["Borough"].unique()
def find_best_flats(dane):
pass
return dane[(dane["Borough"] == "Winogrady") & (dane["Floor"] == 1) & (dane["Rooms"] == 3)]
def main():
dane = wczytaj_dane()
print(dane[:5])
print("Najpopularniejsza liczba pokoi w mieszkaniu to: {}"
.format(most_common_room_number(dane)))
print("Najpopularniejsza liczba pokoi w mieszkaniu to: {}".format(most_common_room_number(dane)))
print("{} to najłądniejsza dzielnica w Poznaniu."
.format(find_borough("Grunwald i Jeżyce"))))
print("{} to najłądniejsza dzielnica w Poznaniu.".format(find_borough("Grunwald i Jeżyce")))
print("Średnia cena mieszkania 3-pokojowego, to: {}"
.format(mean_price(dane, 3)))
print("Średnia cena mieszkania 3-pokojowego, to: {}".format(mean_price(dane, 3)))
if __name__ == "__main__":
main()

30
labs06/tasks.py Executable file → Normal file
View File

@ -4,77 +4,83 @@
"""
1. Zaimportuj bibliotkę pandas jako pd.
"""
import pandas as pd
"""
2. Wczytaj zbiór danych `311.csv` do zniennej data.
"""
data = pd.read_csv("./311.csv", sep=',', header=0, low_memory=0)
"""
3. Wyświetl 5 pierwszych wierszy z data.
"""
print(data.head(5))
"""
4. Wyświetl nazwy kolumn.
"""
print(data.columns)
"""
5. Wyświetl ile nasz zbiór danych ma kolumn i wierszy.
"""
print(str(data.shape[1]) +', '+ str(data.shape[0]))
"""
6. Wyświetl kolumnę 'City' z powyższego zbioru danych.
"""
print(data['City'])
"""
7. Wyświetl jakie wartoścu przyjmuje kolumna 'City'.
"""
print(data['City'].unique())
"""
8. Wyświetl tabelę rozstawną kolumny City.
"""
print(pd.pivot_table(data,columns=['City']))
"""
9. Wyświetl tylko pierwsze 4 wiersze z wcześniejszego polecenia.
"""
print(pd.pivot_table(data,columns=['City']).head(4))
"""
10. Wyświetl, w ilu przypadkach kolumna City zawiera NaN.
"""
print(data['City'].isnull().sum())
"""
11. Wyświetl data.info()
"""
print(data.info())
"""
12. Wyświetl tylko kolumny Borough i Agency i tylko 5 ostatnich linii.
"""
print(data[['Borough','Agency']].tail(5))
"""
13. Wyświetl tylko te dane, dla których wartość z kolumny Agency jest równa
NYPD. Zlicz ile jest takich przykładów.
"""
print(data[data['Agency'] == 'NYPD'])
print(data['Agency'].value_counts()['NYPD'])
"""
14. Wyświetl wartość minimalną i maksymalną z kolumny Longitude.
"""
print(data['Longitude'].max())
print(data['Longitude'].min())
"""
15. Dodaj kolumne diff, która powstanie przez sumowanie kolumn Longitude i Latitude.
"""
data['diff'] = data['Longitude'] + data['Latitude']
"""
16. Wyświetl tablę rozstawną dla kolumny 'Descriptor', dla której Agency jest
równe NYPD.
"""
print(pd.pivot_table(data[data['Agency'] == 'NYPD'],columns=['Descriptor']))