Created
June 9, 2019 10:34
-
-
Save pjastr/6c2084da69e0652ae15263f16d8fbe83 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import pandas as pd | |
import numpy as np | |
import matplotlib.pyplot as plt | |
# ładowanie danych do ramki danych, parametr ustawia inny niz domyslny separator, indeksy do pierwsza kolumna z miastami | |
data = pd.read_csv("miasta.csv", sep=";", index_col=0) | |
# usuniecie spacji w kolumnie dot. ludnosc | |
data["Ludnosc"] = data["Ludnosc"].str.replace(" ", "") | |
# zamiana stringa na liczbę | |
data["Ludnosc"] = pd.to_numeric(data["Ludnosc"]) | |
# zamiana przecinka na kropkę (do późniejszej konwersji na floata) | |
data["Powierzchnia"] = data["Powierzchnia"].str.replace(",", ".") | |
# konwersja kolumny Powierzchnia na typ liczbowy | |
data["Powierzchnia"] = pd.to_numeric(data["Powierzchnia"]) | |
# policzenie gestosci | |
gestosc = data["Ludnosc"] / data["Powierzchnia"] | |
# dodanie nazwy | |
gestosc.name = "Gestosc" | |
# polaczenie ramki i serii | |
data2 = pd.concat([data, gestosc], axis=1) | |
# kod by wyświetlić miasto o najmniejszej powierzchni | |
minPow = data["Powierzchnia"].min() | |
minPowMiasto = data[data["Powierzchnia"] == minPow] | |
print(minPowMiasto) | |
# kod do wyświetlenia miast o ludnosci powyzej 0,5 mln | |
filtrMiasto = data[data["Ludnosc"] > 500000] | |
print(filtrMiasto) | |
# kod do wykresów | |
x = np.arange(len(data2.index)) | |
plt.subplot(2, 1, 1) | |
plt.title("Gęstość zaludnienia") | |
plt.bar(x, gestosc) | |
plt.xticks(x, data.index) | |
plt.subplot(2, 1, 2) | |
plt.title("Ludność") | |
plt.pie(data["Ludnosc"], labels=data.index, autopct='%1.1f%%') | |
plt.show() | |
# kod na dodanie nowych miast | |
dataNew = pd.DataFrame({"Powierzchnia": [334, 222.22, 111.11], | |
"Ludnosc": [334, 222.22, 111.11], | |
"Gestosc": [334, 222.22, 111.11], | |
}, | |
index=["Miasto A", "Miasto B", "Miasto C"]) | |
data3 = pd.concat([data2, dataNew]) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment