Biblioteka Pandas
Pobierz plik z danymi "nauka.csv"
POBIERZ...
Analiza z wykorzytaniem regresji wielomianowej.
import pandas as pd
df=pd.read_csv('nauka.csv',delimiter=';')
print(df.head(5)) # drukuje 5 pierwszych pozycji
print(df.tail(3)) # drukuje 3 ostatnie pozycje
print(df.sample(4)) # drukuje 4 przypadkowe pozycje
print(df[['marka','spalanie']]) # drukuje wybrane kolumny (zwróć uwagę na podwójny nawias kwadratowy)
print(df.marka) # drukuje wybraną kolumnę
print(df.marka =='opel')
# funkcje agregacji
print (df.count()) # podaje ilość wierszy
print(df.max()) # drukuje wartość maksymalną dla wszystkich kolumn
print(df.cena.max()) # drukuje wartość maksymalną wybranej kolumny
print(df.cena.min()) # drukuje wartość minimalną
print(df.cena.sum()) # drukuje sumę wartości
print(df.cena.median()) # drukuje medianę
print(df.cena.mean()) # drukuje wartość średnią
# grupowanie danych
print(df.groupby('marka').count()) # zlicza ilość takich samych obiektów, w tym przypadku marek samochodów
print(df.groupby('marka').sum()) # sumuje wartości dla tych samych obiektów (mercedesów, bmw, itd.)
print(df.groupby('marka').min()) # znajduje wartość minimalną dla każdej grupy
print(df.groupby('marka').max()) # znajduje wartość maksymalną dla każdej grupy
# łaczenie data frames
inna_df=[['BMW',100000],['audi',154000],['fiat',201000],['opel',110000],['ford',50000],['citroen','peugot'],['mercedes',45000],['Cupra',67000],['BMW',76000],['audi',54000],['fiat',99000],['opel',132000],['ford',144000],['citroen',221000],['peugot',187000],['mercedes',232000],['Cupra',77000],['BMW',76000]]
inna_df=pd.DataFrame(inna_df,columns=['marka','przebieg'])
df.merge(inna_df)
print(df)
# sortowanie wartości
print(df.sort_values('cena')) # sortowanie rosnąco
print(df.sort_values('cena', ascending=False)) # sortowanie malejąco
print(df.sort_values('cena', ascending=False).reset_index(drop=True)) # sortowanie malejąco z aktualizacją indeksacji wierszy
# uzupełniamy brakujące wartości wartością wskazaną w nawiasach
# najpierw wykasujemy kilka wartości
import numpy as np
df.at[3,'cena']=np.nan # kasujemy na podstawie etykiety indeksu i nazwy kolumny
df.iat[5,3]=np.nan # kasujemy komórkę po kolumna i wiersz
df.loc[7,'cena']=np.nan # kasujemy na podstawie pozycji wiersza i nazwy kolumny
df.iloc[8,4]=np.nan # kasujemy komórkę po pozycji kolumny i wiersza.
print(df)
# uzupełniamy puste komórki
print(df.fillna('10000'))
# Dzielimy dataframe na tabele danych wejściowych i wyjściowych
X=df.drop(columns=['cena'])
y=df['cena']
print(X)
print(y)