Compare commits
8 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
95f6c11a79 | ||
|
aee299ad3b | ||
|
6055aefbfa | ||
|
59e4875b80 | ||
|
36ebe87bd1 | ||
|
076f5e462b | ||
|
d0595e3128 | ||
|
a5f73d423a |
@ -7,8 +7,11 @@ która zawiera tylko elementy z list o parzystych indeksach.
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def even_elements(lista):
|
def even_elements(lista):
|
||||||
pass
|
result = []
|
||||||
|
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,7 +6,16 @@
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def days_in_year(days):
|
def days_in_year(days):
|
||||||
pass
|
if days % 4 == 0:
|
||||||
|
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,9 +13,7 @@ jak 'set', która przechowuje elementy bez powtórzeń.)
|
|||||||
|
|
||||||
|
|
||||||
def oov(text, vocab):
|
def oov(text, vocab):
|
||||||
pass
|
return (set(text.lower().split()) - set(vocab))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
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,7 +7,10 @@ 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):
|
||||||
pass
|
if n < 1:
|
||||||
|
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):
|
||||||
pass
|
return m.sqrt(sum((i-j)**2 for i, j in zip(x, y)))
|
||||||
|
|
||||||
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,7 +10,10 @@ ma być zwracany napis "It's not a Big 'No!'".
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def big_no(n):
|
def big_no(n):
|
||||||
pass
|
if n < 5:
|
||||||
|
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):
|
||||||
pass
|
return sum(ord(x) for x in text)
|
||||||
|
|
||||||
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):
|
||||||
pass
|
return sum(x for x in range(n) if (x % 3 == 0 or x % 5 == 0))
|
||||||
|
|
||||||
def tests(f):
|
def tests(f):
|
||||||
inputs = [[10], [100], [3845]]
|
inputs = [[10], [100], [3845]]
|
||||||
|
@ -9,8 +9,11 @@ Np. leet('leet') powinno zwrócić '1337'.
|
|||||||
|
|
||||||
|
|
||||||
def leet_speak(text):
|
def leet_speak(text):
|
||||||
pass
|
words_dict = { 'e': '3', 'l': '1', 'o': '0', 't': '7' }
|
||||||
|
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,8 +9,13 @@ na wielką. Np. pokemon_speak('pokemon') powinno zwrócić 'PoKeMoN'.
|
|||||||
|
|
||||||
|
|
||||||
def pokemon_speak(text):
|
def pokemon_speak(text):
|
||||||
pass
|
result = []
|
||||||
|
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,8 +9,7 @@ Oba napisy będą składać się wyłacznie z małych liter.
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def common_chars(string1, string2):
|
def common_chars(string1, string2):
|
||||||
pass
|
return sorted(set(string1.replace(' ', '')) & set(string2.replace(' ', '')))
|
||||||
|
|
||||||
|
|
||||||
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 0
|
return a + b
|
||||||
|
|
||||||
def tests(f):
|
def tests(f):
|
||||||
inputs = [(2, 3), (0, 0), (1, 1)]
|
inputs = [(2, 3), (0, 0), (1, 1)]
|
||||||
|
14
labs04/task05.py
Normal file
14
labs04/task05.py
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
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
Executable file → Normal file
61
labs06/task02.py
Executable file → Normal file
@ -1,14 +1,21 @@
|
|||||||
#!/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():
|
||||||
pass
|
return pd.read_csv('mieszkania.csv')
|
||||||
|
|
||||||
|
|
||||||
def most_common_room_number(dane):
|
def most_common_room_number(dane):
|
||||||
pass
|
return dane.Rooms.value_counts().index[0]
|
||||||
|
|
||||||
|
|
||||||
def cheapest_flats(dane, n):
|
def cheapest_flats(dane, n):
|
||||||
pass
|
return dane.sort_values(by=['Expected'], ascending=False).head(n)
|
||||||
|
|
||||||
|
|
||||||
def find_borough(desc):
|
def find_borough(desc):
|
||||||
dzielnice = ['Stare Miasto',
|
dzielnice = ['Stare Miasto',
|
||||||
@ -19,23 +26,44 @@ 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):
|
||||||
pass
|
dane['Borough'] = dane.Location.apply(lambda el: find_borough(str(el)))
|
||||||
|
|
||||||
|
|
||||||
def write_plot(dane, filename):
|
def write_plot(dane, filename):
|
||||||
pass
|
column_names = list(dane.Borough.value_counts().index)
|
||||||
|
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):
|
||||||
pass
|
return dane.Expected[dane.Rooms == room_number].mean()
|
||||||
|
|
||||||
|
|
||||||
def find_13(dane):
|
def find_13(dane):
|
||||||
pass
|
return dane.Borough[dane.Floor == 13].unique()
|
||||||
|
|
||||||
|
|
||||||
def find_best_flats(dane):
|
def find_best_flats(dane):
|
||||||
pass
|
return dane[(dane.Borough == 'Winogrady') & (dane.Rooms == 3) & (dane.Floor == 1)]
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
dane = wczytaj_dane()
|
dane = wczytaj_dane()
|
||||||
@ -44,11 +72,22 @@ 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łądniejsza dzielnica w Poznaniu."
|
print("{} to najładniejsza 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
Executable file → Normal file
29
labs06/tasks.py
Executable file → Normal file
@ -4,77 +4,82 @@
|
|||||||
"""
|
"""
|
||||||
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
Normal file
BIN
labs06/test.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
Loading…
Reference in New Issue
Block a user