Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
4d03009ff6 | |||
2ea7ef9e52 | |||
59d8152808 | |||
ecec479e8d | |||
7f28a04c01 | |||
bec8e2ab49 | |||
b60f116f5e |
@ -6,7 +6,13 @@
|
||||
"""
|
||||
|
||||
def days_in_year(days):
|
||||
pass
|
||||
if ((days % 4 == 0) and (days % 100 != 0)):
|
||||
wynik=366
|
||||
elif (days % 400 == 0):
|
||||
wynik=366
|
||||
else:
|
||||
wynik=365
|
||||
return wynik
|
||||
|
||||
def tests(f):
|
||||
inputs = [[2015], [2012], [1900], [2400], [1977]]
|
||||
|
@ -13,7 +13,12 @@ jak 'set', która przechowuje elementy bez powtórzeń.)
|
||||
|
||||
|
||||
def oov(text, vocab):
|
||||
pass
|
||||
text = text.lower()
|
||||
text2 = text.split(' ')
|
||||
vocab2 = ' '.join(vocab)
|
||||
vocab2 = vocab2.lower()
|
||||
vocab2 = vocab2.split(' ')
|
||||
return (set(text2).difference(set(vocab2)))
|
||||
|
||||
|
||||
|
||||
|
@ -7,7 +7,13 @@ Jeśli podany argument jest mniejszy od 1 powinna być zwracana wartość 0.
|
||||
"""
|
||||
|
||||
def sum_from_one_to_n(n):
|
||||
pass
|
||||
if n<1:
|
||||
return 0
|
||||
else:
|
||||
wynik = 0;
|
||||
for i in range(1,n+1):
|
||||
wynik = wynik+i;
|
||||
return wynik
|
||||
|
||||
|
||||
def tests(f):
|
||||
|
@ -10,7 +10,12 @@ np. odległość pomiędzy punktami (0, 0, 0) i (3, 4, 0) jest równa 5.
|
||||
"""
|
||||
|
||||
def euclidean_distance(x, y):
|
||||
pass
|
||||
eukl = 0;
|
||||
for i in range(3):
|
||||
eukl = eukl+(x[i]-y[i])**2
|
||||
eukl = eukl**0.5
|
||||
return eukl
|
||||
|
||||
|
||||
def tests(f):
|
||||
inputs = [[(2.3, 4.3, -7.5), (2.3, 8.5, -7.5)]]
|
||||
|
@ -10,7 +10,15 @@ ma być zwracany napis "It's not a Big 'No!'".
|
||||
"""
|
||||
|
||||
def big_no(n):
|
||||
pass
|
||||
if n<5:
|
||||
tekst = "It's not a Big 'No!'"
|
||||
else:
|
||||
lista=["N"]
|
||||
for i in range(1,n+1):
|
||||
lista.append("O")
|
||||
lista.append("!")
|
||||
tekst = ''.join(lista)
|
||||
return tekst
|
||||
|
||||
def tests(f):
|
||||
inputs = [[5], [6], [2]]
|
||||
|
@ -6,7 +6,10 @@ Napisz funkcję char_sum, która dla zadanego łańcucha zwraca
|
||||
sumę kodów ASCII znaków.
|
||||
"""
|
||||
def char_sum(text):
|
||||
pass
|
||||
suma = 0
|
||||
for znak in text:
|
||||
suma = suma+ord(znak)
|
||||
return suma
|
||||
|
||||
def tests(f):
|
||||
inputs = [["this is a string"], ["this is another string"]]
|
||||
|
@ -7,7 +7,12 @@ przez 3 lub 5 mniejszych niż n.
|
||||
"""
|
||||
|
||||
def sum_div35(n):
|
||||
pass
|
||||
suma=0
|
||||
for i in range(1,n):
|
||||
if ((i%3)==0 or (i%5)==0):
|
||||
suma = suma+i
|
||||
return suma
|
||||
|
||||
|
||||
def tests(f):
|
||||
inputs = [[10], [100], [3845]]
|
||||
|
@ -9,7 +9,21 @@ Np. leet('leet') powinno zwrócić '1337'.
|
||||
|
||||
|
||||
def leet_speak(text):
|
||||
pass
|
||||
text2=[]
|
||||
for znak in text:
|
||||
if znak == 'e':
|
||||
text2.append('3')
|
||||
elif znak == 'l':
|
||||
text2.append('1')
|
||||
elif znak == 'o':
|
||||
text2.append('0')
|
||||
elif znak == 't':
|
||||
text2.append('7')
|
||||
else:
|
||||
text2.append(znak)
|
||||
text2 = ''.join(text2)
|
||||
return text2
|
||||
|
||||
|
||||
|
||||
def tests(f):
|
||||
|
@ -9,7 +9,17 @@ na wielką. Np. pokemon_speak('pokemon') powinno zwrócić 'PoKeMoN'.
|
||||
|
||||
|
||||
def pokemon_speak(text):
|
||||
pass
|
||||
text1 = []
|
||||
for znak in text:
|
||||
text1.append(znak)
|
||||
text2 =[]
|
||||
for i in range(0, len(text)):
|
||||
if (i%2)==0:
|
||||
text2.append(text1[i].upper())
|
||||
else:
|
||||
text2.append(text1[i])
|
||||
text2 = ''.join(text2)
|
||||
return text2
|
||||
|
||||
|
||||
def tests(f):
|
||||
|
@ -9,7 +9,13 @@ Oba napisy będą składać się wyłacznie z małych liter.
|
||||
"""
|
||||
|
||||
def common_chars(string1, string2):
|
||||
pass
|
||||
wspolne_znaki = set(string1).intersection(set(string2))
|
||||
wspolne_znaki = set(wspolne_znaki).difference(set(' '))
|
||||
wspolne_znaki_tbl = []
|
||||
for znak in wspolne_znaki:
|
||||
wspolne_znaki_tbl.append(znak)
|
||||
wspolne_znaki_tbl.sort()
|
||||
return wspolne_znaki_tbl
|
||||
|
||||
|
||||
def tests(f):
|
||||
|
22
labs04/task05.py
Normal file
22
labs04/task05.py
Normal file
@ -0,0 +1,22 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import glob
|
||||
|
||||
lista_plikow = glob.glob('J:\PycharmProjects\Python2018\labs04\scores\*')
|
||||
|
||||
wyniki=[]
|
||||
for plik in lista_plikow:
|
||||
tekst = open(plik, 'r')
|
||||
tmp=[]
|
||||
for linia in tekst.readlines():
|
||||
tmp=(linia.strip()).split(' ')
|
||||
wyniki.append(float(tmp[2].replace(',','')))
|
||||
|
||||
max=wyniki[0]
|
||||
for i in range(1, len(wyniki)):
|
||||
if wyniki[i]>max:
|
||||
max=wyniki[i]
|
||||
max_iter = i
|
||||
|
||||
print(lista_plikow[max_iter])
|
@ -1,14 +1,22 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import pandas as pd
|
||||
from matplotlib import pyplot as plt
|
||||
from sklearn import linear_model
|
||||
|
||||
def wczytaj_dane():
|
||||
pass
|
||||
data = pd.read_csv("J:/PycharmProjects/Python2018/labs06/mieszkania.csv")
|
||||
return pd.DataFrame(data)
|
||||
|
||||
def most_common_room_number(dane):
|
||||
pass
|
||||
dane2 = dane['Rooms'].value_counts().head(1)
|
||||
pokoje = int(dane2.index[0])
|
||||
return pokoje
|
||||
|
||||
def cheapest_flats(dane, n):
|
||||
pass
|
||||
result = dane.sort_values('Expected').head(n)
|
||||
return result
|
||||
|
||||
def find_borough(desc):
|
||||
dzielnice = ['Stare Miasto',
|
||||
@ -19,23 +27,55 @@ def find_borough(desc):
|
||||
'Winogrady',
|
||||
'Miłostowo',
|
||||
'Dębiec']
|
||||
pass
|
||||
|
||||
for i in range(0,len(dzielnice)):
|
||||
if dzielnice[i] in desc:
|
||||
result = dzielnice[i]
|
||||
break
|
||||
else:
|
||||
result = 'Inne'
|
||||
return result
|
||||
|
||||
def add_borough(dane):
|
||||
pass
|
||||
dane['Borough'] = dane['Location'].apply(find_borough)
|
||||
return dane
|
||||
|
||||
def write_plot(dane, filename):
|
||||
pass
|
||||
dane['Borough'].value_counts().plot(kind='barh')
|
||||
plt.savefig('J:/PycharmProjects/Python2018/labs06/'+filename)
|
||||
return 0
|
||||
|
||||
def mean_price(dane, room_number):
|
||||
pass
|
||||
dane2 = dane[dane.Rooms == room_number]
|
||||
srednia = round(dane2.Expected.mean(),2)
|
||||
return srednia
|
||||
|
||||
def find_13(dane):
|
||||
pass
|
||||
dane2 = dane[dane.Floor == 13]
|
||||
lista_dzielnic = dane2['Borough'].unique()
|
||||
return lista_dzielnic
|
||||
|
||||
def find_best_flats(dane):
|
||||
pass
|
||||
dane2 = dane[(dane['Borough']=='Winogrady') & (dane['Rooms']==3) & (dane['Floor']==1)]
|
||||
return dane2
|
||||
|
||||
def reg_lin(dane, metraz, pokoje):
|
||||
reg = linear_model.LinearRegression()
|
||||
reg.fit(dane[['SqrMeters', 'Rooms']], dane['Expected'])
|
||||
result = reg.predict(pd.DataFrame([(metraz, pokoje)], columns=['var1', 'var2']))
|
||||
return result
|
||||
|
||||
"""
|
||||
dane = wczytaj_dane()
|
||||
print(most_common_room_number(dane))
|
||||
print(cheapest_flats(dane, 2))
|
||||
print(find_borough('Winogrady i Jeżyce'))
|
||||
add_borough(dane)
|
||||
write_plot(dane, 'wykres')
|
||||
print(mean_price(dane, 3))
|
||||
print(find_13(dane))
|
||||
print(find_best_flats(dane).shape[0])
|
||||
print(reg_lin(dane, 60, 3))
|
||||
"""
|
||||
|
||||
def main():
|
||||
dane = wczytaj_dane()
|
||||
@ -45,7 +85,7 @@ def main():
|
||||
.format(most_common_room_number(dane)))
|
||||
|
||||
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: {}"
|
||||
.format(mean_price(dane, 3)))
|
||||
|
@ -4,77 +4,87 @@
|
||||
"""
|
||||
1. Zaimportuj bibliotkę pandas jako pd.
|
||||
"""
|
||||
|
||||
import pandas as pd
|
||||
|
||||
"""
|
||||
2. Wczytaj zbiór danych `311.csv` do zniennej data.
|
||||
"""
|
||||
data = pd.read_csv("J:/PycharmProjects/Python2018/labs06/311.csv", low_memory=False)
|
||||
|
||||
|
||||
"""
|
||||
3. Wyświetl 5 pierwszych wierszy z data.
|
||||
"""
|
||||
|
||||
#print(data.head())
|
||||
|
||||
"""
|
||||
4. Wyświetl nazwy kolumn.
|
||||
"""
|
||||
|
||||
#print(data.columns)
|
||||
|
||||
"""
|
||||
5. Wyświetl ile nasz zbiór danych ma kolumn i wierszy.
|
||||
"""
|
||||
|
||||
#print(data.shape)
|
||||
|
||||
"""
|
||||
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(data['City'].value_counts())
|
||||
|
||||
"""
|
||||
9. Wyświetl tylko pierwsze 4 wiersze z wcześniejszego polecenia.
|
||||
"""
|
||||
|
||||
#data2 = pd.DataFrame(data['City'].value_counts())
|
||||
#print(data2.info())
|
||||
#print(data2.head())
|
||||
|
||||
"""
|
||||
10. Wyświetl, w ilu przypadkach kolumna City zawiera NaN.
|
||||
"""
|
||||
|
||||
#print(data[data['City'].isnull()].shape[0])
|
||||
|
||||
|
||||
"""
|
||||
11. Wyświetl data.info()
|
||||
"""
|
||||
#data.info()
|
||||
|
||||
"""
|
||||
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
|
||||
NYPD. Zlicz ile jest takich przykładów.
|
||||
"""
|
||||
#print(data[data['Agency']=='NYPD'].shape[0])
|
||||
|
||||
"""
|
||||
14. Wyświetl wartość minimalną i maksymalną z kolumny Longitude.
|
||||
"""
|
||||
#print(data['Longitude'].min())
|
||||
#print(data['Longitude'].max())
|
||||
|
||||
"""
|
||||
15. Dodaj kolumne diff, która powstanie przez sumowanie kolumn Longitude i Latitude.
|
||||
"""
|
||||
|
||||
#data['diff'] = data['Longitude']+data['Latitude']
|
||||
#print(data[-3:].head())
|
||||
|
||||
"""
|
||||
16. Wyświetl tablę rozstawną dla kolumny 'Descriptor', dla której Agency jest
|
||||
równe NYPD.
|
||||
"""
|
||||
#print(data[data['Agency']=='NYPD']['Descriptor'].value_counts())
|
Loading…
Reference in New Issue
Block a user