forked from tdwojak/Python2018
Compare commits
No commits in common. "master" and "master" have entirely different histories.
@ -7,11 +7,8 @@ która zawiera tylko elementy z list o parzystych indeksach.
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def even_elements(lista):
|
def even_elements(lista):
|
||||||
result = []
|
pass
|
||||||
for i in range(len(lista)):
|
|
||||||
if i % 2 == 0:
|
|
||||||
result.append(lista[i])
|
|
||||||
return result
|
|
||||||
|
|
||||||
def tests(f):
|
def tests(f):
|
||||||
inputs = [[[1, 2, 3, 4, 5, 6]], [[]], [[41]]]
|
inputs = [[[1, 2, 3, 4, 5, 6]], [[]], [[41]]]
|
||||||
|
@ -6,16 +6,7 @@
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def days_in_year(days):
|
def days_in_year(days):
|
||||||
if days % 4 == 0:
|
pass
|
||||||
if days % 100 == 0:
|
|
||||||
if days % 400 == 0:
|
|
||||||
return 366
|
|
||||||
else:
|
|
||||||
return 365
|
|
||||||
else:
|
|
||||||
return 366
|
|
||||||
else:
|
|
||||||
return 365
|
|
||||||
|
|
||||||
def tests(f):
|
def tests(f):
|
||||||
inputs = [[2015], [2012], [1900], [2400], [1977]]
|
inputs = [[2015], [2012], [1900], [2400], [1977]]
|
||||||
|
@ -13,7 +13,9 @@ jak 'set', która przechowuje elementy bez powtórzeń.)
|
|||||||
|
|
||||||
|
|
||||||
def oov(text, vocab):
|
def oov(text, vocab):
|
||||||
return (set(text.lower().split()) - set(vocab))
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def tests(f):
|
def tests(f):
|
||||||
inputs = [("this is a string , which i will use for string testing",
|
inputs = [("this is a string , which i will use for string testing",
|
||||||
|
@ -7,10 +7,7 @@ Jeśli podany argument jest mniejszy od 1 powinna być zwracana wartość 0.
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def sum_from_one_to_n(n):
|
def sum_from_one_to_n(n):
|
||||||
if n < 1:
|
pass
|
||||||
return 0
|
|
||||||
else:
|
|
||||||
return sum(i for i in range(1, n+1))
|
|
||||||
|
|
||||||
|
|
||||||
def tests(f):
|
def tests(f):
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
import math as m
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Napisz funkcję euclidean_distance obliczającą odległość między
|
Napisz funkcję euclidean_distance obliczającą odległość między
|
||||||
@ -10,7 +10,7 @@ np. odległość pomiędzy punktami (0, 0, 0) i (3, 4, 0) jest równa 5.
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def euclidean_distance(x, y):
|
def euclidean_distance(x, y):
|
||||||
return m.sqrt(sum((i-j)**2 for i, j in zip(x, y)))
|
pass
|
||||||
|
|
||||||
def tests(f):
|
def tests(f):
|
||||||
inputs = [[(2.3, 4.3, -7.5), (2.3, 8.5, -7.5)]]
|
inputs = [[(2.3, 4.3, -7.5), (2.3, 8.5, -7.5)]]
|
||||||
|
@ -10,10 +10,7 @@ ma być zwracany napis "It's not a Big 'No!'".
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def big_no(n):
|
def big_no(n):
|
||||||
if n < 5:
|
pass
|
||||||
return "It's not a Big \'No!\'"
|
|
||||||
else:
|
|
||||||
return "N" + n * "O" + "!"
|
|
||||||
|
|
||||||
def tests(f):
|
def tests(f):
|
||||||
inputs = [[5], [6], [2]]
|
inputs = [[5], [6], [2]]
|
||||||
|
@ -6,7 +6,7 @@ Napisz funkcję char_sum, która dla zadanego łańcucha zwraca
|
|||||||
sumę kodów ASCII znaków.
|
sumę kodów ASCII znaków.
|
||||||
"""
|
"""
|
||||||
def char_sum(text):
|
def char_sum(text):
|
||||||
return sum(ord(x) for x in text)
|
pass
|
||||||
|
|
||||||
def tests(f):
|
def tests(f):
|
||||||
inputs = [["this is a string"], ["this is another string"]]
|
inputs = [["this is a string"], ["this is another string"]]
|
||||||
|
@ -7,7 +7,7 @@ przez 3 lub 5 mniejszych niż n.
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def sum_div35(n):
|
def sum_div35(n):
|
||||||
return sum(x for x in range(n) if (x % 3 == 0 or x % 5 == 0))
|
pass
|
||||||
|
|
||||||
def tests(f):
|
def tests(f):
|
||||||
inputs = [[10], [100], [3845]]
|
inputs = [[10], [100], [3845]]
|
||||||
|
@ -9,11 +9,8 @@ Np. leet('leet') powinno zwrócić '1337'.
|
|||||||
|
|
||||||
|
|
||||||
def leet_speak(text):
|
def leet_speak(text):
|
||||||
words_dict = { 'e': '3', 'l': '1', 'o': '0', 't': '7' }
|
pass
|
||||||
for letter in text:
|
|
||||||
if letter in words_dict:
|
|
||||||
text = text.replace(letter, words_dict[letter])
|
|
||||||
return text
|
|
||||||
|
|
||||||
def tests(f):
|
def tests(f):
|
||||||
inputs = [['leet'], ['do not want']]
|
inputs = [['leet'], ['do not want']]
|
||||||
|
@ -9,13 +9,8 @@ na wielką. Np. pokemon_speak('pokemon') powinno zwrócić 'PoKeMoN'.
|
|||||||
|
|
||||||
|
|
||||||
def pokemon_speak(text):
|
def pokemon_speak(text):
|
||||||
result = []
|
pass
|
||||||
for i in range(len(text)):
|
|
||||||
if i % 2 == 0:
|
|
||||||
result.append(text[i].upper())
|
|
||||||
else:
|
|
||||||
result.append(text[i])
|
|
||||||
return ''.join(result)
|
|
||||||
|
|
||||||
def tests(f):
|
def tests(f):
|
||||||
inputs = [['pokemon'], ['do not want'], ['POKEMON']]
|
inputs = [['pokemon'], ['do not want'], ['POKEMON']]
|
||||||
|
@ -9,7 +9,8 @@ Oba napisy będą składać się wyłacznie z małych liter.
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def common_chars(string1, string2):
|
def common_chars(string1, string2):
|
||||||
return sorted(set(string1.replace(' ', '')) & set(string2.replace(' ', '')))
|
pass
|
||||||
|
|
||||||
|
|
||||||
def tests(f):
|
def tests(f):
|
||||||
inputs = [["this is a string", "ala ma kota"]]
|
inputs = [["this is a string", "ala ma kota"]]
|
||||||
|
@ -6,7 +6,7 @@ def suma(a, b):
|
|||||||
"""
|
"""
|
||||||
Napisz funkcję, która zwraca sumę elementów.
|
Napisz funkcję, która zwraca sumę elementów.
|
||||||
"""
|
"""
|
||||||
return a + b
|
return 0
|
||||||
|
|
||||||
def tests(f):
|
def tests(f):
|
||||||
inputs = [(2, 3), (0, 0), (1, 1)]
|
inputs = [(2, 3), (0, 0), (1, 1)]
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
import glob
|
|
||||||
import os
|
|
||||||
|
|
||||||
scores_files = glob.glob('./scores/model.iter*[0-9].npz.bleu')
|
|
||||||
max_result = { 'path': '', 'score': 0.0 }
|
|
||||||
|
|
||||||
for f in scores_files:
|
|
||||||
read_file = open(f, 'r').read().split()
|
|
||||||
result = float(read_file[2][:-1])
|
|
||||||
if(result > max_result['score']):
|
|
||||||
max_result['score'] = result
|
|
||||||
max_result['path'] = f
|
|
||||||
|
|
||||||
print(os.path.abspath(max_result['path']))
|
|
61
labs06/task02.py
Normal file → Executable file
61
labs06/task02.py
Normal file → Executable file
@ -1,21 +1,14 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
import pandas as pd
|
|
||||||
import matplotlib.pyplot as plt
|
|
||||||
import numpy as np
|
|
||||||
|
|
||||||
|
|
||||||
def wczytaj_dane():
|
def wczytaj_dane():
|
||||||
return pd.read_csv('mieszkania.csv')
|
pass
|
||||||
|
|
||||||
|
|
||||||
def most_common_room_number(dane):
|
def most_common_room_number(dane):
|
||||||
return dane.Rooms.value_counts().index[0]
|
pass
|
||||||
|
|
||||||
|
|
||||||
def cheapest_flats(dane, n):
|
def cheapest_flats(dane, n):
|
||||||
return dane.sort_values(by=['Expected'], ascending=False).head(n)
|
pass
|
||||||
|
|
||||||
|
|
||||||
def find_borough(desc):
|
def find_borough(desc):
|
||||||
dzielnice = ['Stare Miasto',
|
dzielnice = ['Stare Miasto',
|
||||||
@ -26,44 +19,23 @@ def find_borough(desc):
|
|||||||
'Winogrady',
|
'Winogrady',
|
||||||
'Miłostowo',
|
'Miłostowo',
|
||||||
'Dębiec']
|
'Dębiec']
|
||||||
|
pass
|
||||||
common_boroughs = list(set(desc.split()).intersection(dzielnice))
|
|
||||||
if not common_boroughs:
|
|
||||||
return "Inne"
|
|
||||||
else:
|
|
||||||
return str(common_boroughs[0])
|
|
||||||
|
|
||||||
|
|
||||||
def add_borough(dane):
|
def add_borough(dane):
|
||||||
dane['Borough'] = dane.Location.apply(lambda el: find_borough(str(el)))
|
pass
|
||||||
|
|
||||||
|
|
||||||
def write_plot(dane, filename):
|
def write_plot(dane, filename):
|
||||||
column_names = list(dane.Borough.value_counts().index)
|
pass
|
||||||
x_pos = np.arange(len(column_names))
|
|
||||||
y_pos = list(dane.Borough.value_counts())
|
|
||||||
|
|
||||||
plt.bar(x_pos, y_pos, align='center')
|
|
||||||
plt.xticks(x_pos, column_names)
|
|
||||||
plt.xlabel('Dzielnica')
|
|
||||||
plt.ylabel('Liczba ogłoszeń')
|
|
||||||
plt.title('Liczba ogłoszeń mieszkaniowych z podziałem na dzielnice')
|
|
||||||
|
|
||||||
img = plt.gcf()
|
|
||||||
img.savefig(filename)
|
|
||||||
|
|
||||||
|
|
||||||
def mean_price(dane, room_number):
|
def mean_price(dane, room_number):
|
||||||
return dane.Expected[dane.Rooms == room_number].mean()
|
pass
|
||||||
|
|
||||||
|
|
||||||
def find_13(dane):
|
def find_13(dane):
|
||||||
return dane.Borough[dane.Floor == 13].unique()
|
pass
|
||||||
|
|
||||||
|
|
||||||
def find_best_flats(dane):
|
def find_best_flats(dane):
|
||||||
return dane[(dane.Borough == 'Winogrady') & (dane.Rooms == 3) & (dane.Floor == 1)]
|
pass
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
dane = wczytaj_dane()
|
dane = wczytaj_dane()
|
||||||
@ -72,22 +44,11 @@ def main():
|
|||||||
print("Najpopularniejsza liczba pokoi w mieszkaniu to: {}"
|
print("Najpopularniejsza liczba pokoi w mieszkaniu to: {}"
|
||||||
.format(most_common_room_number(dane)))
|
.format(most_common_room_number(dane)))
|
||||||
|
|
||||||
print("{} to najładniejsza dzielnica w Poznaniu."
|
print("{} to najłądniejsza dzielnica w Poznaniu."
|
||||||
.format(find_borough("Grunwald i Jeżyce")))
|
.format(find_borough("Grunwald i Jeżyce"))))
|
||||||
|
|
||||||
print("Średnia cena mieszkania 3-pokojowego, to: {}"
|
print("Średnia cena mieszkania 3-pokojowego, to: {}"
|
||||||
.format(mean_price(dane, 3)))
|
.format(mean_price(dane, 3)))
|
||||||
|
|
||||||
add_borough(dane)
|
|
||||||
|
|
||||||
print("Lista dzielnic, które zawierają ofertę mieszkania na 13 piętrze: {}"
|
|
||||||
.format(', '.join(find_13(dane))))
|
|
||||||
|
|
||||||
write_plot(dane, "test")
|
|
||||||
|
|
||||||
# print("Oferty mieszkań, które znajdują się na Winogradach, mają 3 pokoje i są na 1 piętrze:")
|
|
||||||
# print(find_best_flats(dane))
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
29
labs06/tasks.py
Normal file → Executable file
29
labs06/tasks.py
Normal file → Executable file
@ -4,82 +4,77 @@
|
|||||||
"""
|
"""
|
||||||
1. Zaimportuj bibliotkę pandas jako pd.
|
1. Zaimportuj bibliotkę pandas jako pd.
|
||||||
"""
|
"""
|
||||||
import pandas as pd
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
2. Wczytaj zbiór danych `311.csv` do zniennej data.
|
2. Wczytaj zbiór danych `311.csv` do zniennej data.
|
||||||
"""
|
"""
|
||||||
data = pd.read_csv('311.csv', low_memory=False)
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
3. Wyświetl 5 pierwszych wierszy z data.
|
3. Wyświetl 5 pierwszych wierszy z data.
|
||||||
"""
|
"""
|
||||||
print(data.head())
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
4. Wyświetl nazwy kolumn.
|
4. Wyświetl nazwy kolumn.
|
||||||
"""
|
"""
|
||||||
print(data.columns.values)
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
5. Wyświetl ile nasz zbiór danych ma kolumn i wierszy.
|
5. Wyświetl ile nasz zbiór danych ma kolumn i wierszy.
|
||||||
"""
|
"""
|
||||||
print('Rows: ' + str(data.shape[0]) + '\nColumns: ' + str(data.shape[1]))
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
6. Wyświetl kolumnę 'City' z powyższego zbioru danych.
|
6. Wyświetl kolumnę 'City' z powyższego zbioru danych.
|
||||||
"""
|
"""
|
||||||
print(data.City)
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
7. Wyświetl jakie wartoścu przyjmuje kolumna 'City'.
|
7. Wyświetl jakie wartoścu przyjmuje kolumna 'City'.
|
||||||
"""
|
"""
|
||||||
print(data.City.unique())
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
8. Wyświetl tabelę rozstawną kolumny City.
|
8. Wyświetl tabelę rozstawną kolumny City.
|
||||||
"""
|
"""
|
||||||
print(data.City.value_counts())
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
9. Wyświetl tylko pierwsze 4 wiersze z wcześniejszego polecenia.
|
9. Wyświetl tylko pierwsze 4 wiersze z wcześniejszego polecenia.
|
||||||
"""
|
"""
|
||||||
print(data.City.value_counts().head(4))
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
10. Wyświetl, w ilu przypadkach kolumna City zawiera NaN.
|
10. Wyświetl, w ilu przypadkach kolumna City zawiera NaN.
|
||||||
"""
|
"""
|
||||||
print(len(data[data.City.isnull()]))
|
|
||||||
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
11. Wyświetl data.info()
|
11. Wyświetl data.info()
|
||||||
"""
|
"""
|
||||||
print(data.info())
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
12. Wyświetl tylko kolumny Borough i Agency i tylko 5 ostatnich linii.
|
12. Wyświetl tylko kolumny Borough i Agency i tylko 5 ostatnich linii.
|
||||||
"""
|
"""
|
||||||
print(data[['Borough', 'Agency']].tail())
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
13. Wyświetl tylko te dane, dla których wartość z kolumny Agency jest równa
|
13. Wyświetl tylko te dane, dla których wartość z kolumny Agency jest równa
|
||||||
NYPD. Zlicz ile jest takich przykładów.
|
NYPD. Zlicz ile jest takich przykładów.
|
||||||
"""
|
"""
|
||||||
print(data[data.Agency == 'NYPD'])
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
14. Wyświetl wartość minimalną i maksymalną z kolumny Longitude.
|
14. Wyświetl wartość minimalną i maksymalną z kolumny Longitude.
|
||||||
"""
|
"""
|
||||||
print('Min: ' + str(data.Longitude.min()))
|
|
||||||
print('Max: ' + str(data.Longitude.max()))
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
15. Dodaj kolumne diff, która powstanie przez sumowanie kolumn Longitude i Latitude.
|
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
|
16. Wyświetl tablę rozstawną dla kolumny 'Descriptor', dla której Agency jest
|
||||||
równe NYPD.
|
równe NYPD.
|
||||||
"""
|
"""
|
||||||
print(data.Descriptor[data.Agency == 'NYPD'].value_counts())
|
|
||||||
|
BIN
labs06/test.png
BIN
labs06/test.png
Binary file not shown.
Before Width: | Height: | Size: 24 KiB |
Loading…
Reference in New Issue
Block a user