Pandas Cheat Sheet za podatkovnu znanost u Python
โก Pametni saลพetak
Pandini vodiฤi saลพimaju najฤeลกฤe koriลกtene naredbe biblioteke na jednu stranicu. Ovaj vodiฤ ih grupira po zadacima: instaliranje, izgradnja serija i okvira podataka, uvoz datoteka, odabir redaka, ฤiลกฤenje podataka, primjena funkcija i izvoz rezultata.
ล to je Pandas cheat sheet?
Pandas biblioteka nudi stotine funkcija, no samo se mali podskup pojavljuje u svakodnevnom radu. Pande ลกalabahter je referentni popis od jedne stranice koji navodi te naredbe, grupirane prema zadatku koji izvrลกavaju.
Obuhvaฤa strukture Series i DataFrame, uvoz i izvoz datoteka, odabir i sortiranje podataka, ฤiลกฤenje vrijednosti i primjenu funkcija. Svaki odjeljak u nastavku spaja kratko objaลกnjenje s kodom koji se moลพe izvesti, tako da stranica sluลพi i kao podsjetnik za vaลกe... vjeลกtine analize podataka.
๐ Preuzmite PDF Cheat Sheet ovdje
Kako instalirati i uvesti Pande
Dvije naredbe postavljaju Pande i obje se izvrลกavaju u terminalu ili Jupyter Biljeลพnica stanica.
Korak 1) Instalirajte Pande
Pokrenite ovo jednom po okruลพenju; u ฤeliji biljeลพnice stavite uskliฤnik.
pip install pandas
Korak 2) Uvoz Panda
Uvezite paket pod pseudonimom pd, ลกto svaki primjer ovdje pretpostavlja.
import pandas as pd
Sada moลพete pozivati โโPandas funkcije za manipuliranje, analizu i ฤiลกฤenje podataka. Odjeljci u nastavku navode ih redoslijedom kojim ih obiฤno koristite.
Pandas strukture podataka
Pandas ima dvije strukture podataka, Serija i DataFrameOba su oznaฤena polja i oba mogu sadrลพavati bilo koju vrstu podataka. Jedina razlika je dimenzionalnost: Series je jednodimenzionalno polje, a DataFrame je dvodimenzionalno polje izgraฤeno od numpy nizovi ispod.
| svojstvo | Serija | DataFrame |
|---|---|---|
| Dimenzije | Jednodimenzionalno | Dvodimenzionalan |
| Drลพi | Jedan oznaฤeni stupac | Mnogo stupaca, mijeลกani tipovi podataka |
| Konstruktor | pd.Serija() | pd.DataFrame() |
1. Serija
To je jednodimenzionalni oznaฤeni niz. Moลพe sadrลพavati bilo koji tip podataka i None postaje nedostajuฤa vrijednost.
s = pd.Series([2, -4, 6, 3, None], index=['A', 'B', 'C', 'D', 'E'])
2. DataFrame
To je dvodimenzionalni oznaฤeni niz. Moลพe sadrลพavati bilo koju vrstu podataka i razliฤite veliฤine stupaca.
data = {'RollNo' : [101, 102, 75, 99],
'Name' : ['Mithlesh', 'Ram', 'Rudra', 'Mithlesh'],
'Course' : ['Nodejs', None, 'Nodejs', 'JavaScript']
}
df = pd.DataFrame(data, columns=['RollNo', 'Name', 'Course'])
df.head()
Ispisivi cheat sheet u nastavku prikuplja iste naredbe na jednoj stranici.
Uvoz podataka
Pande mogu ฤitati mnoge vrste datoteka izravno u DataFrame. Svaki ฤitaฤ ispod vraฤa jedan, i read_csv() je najkoriลกteniji.
# Import a CSV file pd pd.read_csv(filename) # Import a TSV file pd.read_table(filename) # Import a Excel file pd pd.read_excel(filename) # Import a SQL table/database pd.read_sql(query, connection_object) # Import a JSON file pd.read_json(json_string) # Import a HTML file pd.read_html(url) # From clipboard to read_table() pd.read_clipboard() # From dict pd.DataFrame(dict)
Izbor
Elemente moลพete odabrati prema njihovoj lokaciji ili prema njihovoj oznaci indeksa. Ista sintaksa uglate zagrade odabire retke, stupce i slojeve iz obje strukture.
1. Serija
# Accessing one element from Series s['D'] # Accessing all elements between two given indices s['A':'C'] # Accessing all elements from starting till given index s[:'C'] # Accessing all elements from given index till end s['B':]
2. DataFrame
# Accessing one column df df['Name'] # Accessing rows from after given row df[1:] # Accessing till before given row df[:1] # Accessing rows between two given rows df[1:2]
Odabir Booleovim indeksiranjem i postavkom
Koristiti iloc i iat za cjelobrojne pozicije i loc i at za etikete.
1. Po poziciji
df.iloc[0, 1] df.iat[0, 1]
2. Po etiketi
df.loc[[0], ['Name']]
3. Po oznaci/poziciji
df.loc[2] # Both are same
df.iloc[2]
4. Booleovo indeksiranje
Booleova maska โโzadrลพava samo retke gdje je uvjet True. Drugi primjer dodaje operator NOT ~, pa vraฤa i vrijednosti koje nisu veฤe od 1.
# Series s where value is > 1 s[(s > 0)] # Series s where value is <-2 or >1 s[(s < -2) | ~(s > 1)] # Use filter to adjust DataFrame df[df['RollNo']>100] # Set index a of Series s to 6 s['D'] = 10 s.head()
ฤiลกฤenje podataka
Za Python u svrhu varalice za ฤiลกฤenje podataka, moลพete izvesti sljedeฤe operacije:
- Preimenujte stupce pomoฤu
rename()metoda. - Aลพurirajte vrijednosti pomoฤu
at[]oriat[]metoda za pristup i izmjenu odreฤenih elemenata. - Izradite kopiju serije ili okvira podataka pomoฤu
copy()metoda. - Provjerite NULL vrijednosti pomoฤu
isnull()metodu i ispustite ih pomoฤudropna()metoda. - Provjerite duplicirane vrijednosti pomoฤu
duplicated()metodu. Ispustite ih pomoฤudrop_duplicates()metoda. - Zamijenite NULL vrijednosti pomoฤu
fillna()metoda s odreฤenom vrijednoลกฤu. - Zamijenite vrijednosti pomoฤu
replace()metoda. - Sortiraj vrijednosti pomoฤu
sort_values()metoda. - Rangirajte vrijednosti koristeฤi
rank()metoda.
# Renaming columns df.columns = ['a','b','c'] df.head() # Mass renaming of columns df = df.rename(columns={'RollNo': 'ID', 'Name': 'Student_Name'}) # Or use this edit in same DataFrame instead of in copy df.rename(columns={'RollNo': 'ID', 'Name': 'Student_Name'}, inplace=True) df.head() # Counting duplicates in a column df.duplicated(subset='Name') # Removing entire row that has duplicate in given column df.drop_duplicates(subset=['Name']) # You can choose which one keep - by default is first df.drop_duplicates(subset=['Name'], keep='last') # Checks for Null Values s.isnull() # Checks for non-Null Values - reverse of isnull() s.notnull() # Checks for Null Values df df.isnull() # Checks for non-Null Values - reverse of isnull() df.notnull() # Drops all rows that contain null values df.dropna() # Drops all columns that contain null values df.dropna(axis=1) # Replaces all null values with 'Guru99' df.fillna('Guru99') # Replaces all null values with the mean s.fillna(s.mean()) # Converts the datatype of the Series to float s.astype(float) # Replaces all values equal to 6 with 'Six' s.replace(6,'Six') # Replaces all 2 with 'Two' and 6 with 'Six' s.replace([2,6],['Two','Six']) # Drop from rows (axis=0) s.drop(['B', 'D']) # Drop from columns(axis=1) df.drop('Name', axis=1) # Sort by labels with axis df.sort_index() # Sort by values with axis df.sort_values(by='RollNo') # Ranking entries df.rank() # s1 is pointing to same Series as s s1 = s # s_copy of s, but not pointing same Series s_copy = s.copy() # df1 is pointing to same DataFrame as df df1 = s # df_copy of df, but not pointing same DataFrame df_copy = df.copy()
Imajte na umu da s1 = s stvara samo drugo ime za isti objekt, nikada kopiju - zato copy() slijedi ga.
Dohvaฤanje informacija
Za dohvaฤanje informacija moลพete izvrลกiti sljedeฤe operacije:
- Koristite
shapeatribut za dobivanje broja redaka i stupaca. - Koristite
head()ortail()metoda za dobivanje prvih ili posljednjih nekoliko redaka kao uzorka. - Koristite
info(),describe()ordtypesmetoda za dobivanje informacija o tipu podataka, broju, srednjoj vrijednosti, standardnoj devijaciji, minimalnim i maksimalnim vrijednostima. - Koristite
count(),min(),max(),sum(),mean()imedian()metode za dobivanje specifiฤnih statistiฤkih informacija za vrijednosti. - Koristite
loc[]metoda za dobivanje retka. - Koristite
groupby()metoda za primjenu funkcije GROUP BY za grupiranje sliฤnih vrijednosti u stupcu DataFramea.
1. Osnovne informacije
# Counting all elements in Series len(s) # Counting all elements in DataFrame len(df) # Prints number of rows and columns in dataframe df.shape # Prints first 10 rows by default, if no value set df.head(10) # Prints last 10 rows by default, if no value set df.tail(10) # For counting non-Null values column-wise df.count() # For range of index df df.index # For name of attributes/columns df.columns # Index, Data Type and Memory information df.info() # Datatypes of each column df.dtypes # Summary statistics for numerical columns df.describe()
2. Saลพetak
# For adding all values column-wise df.sum() # For min column-wise df.min() # For max column-wise df.max() # For mean value in number column df.mean() # For median value in number column df.median() # Count non-Null values s.count() # Count non-Null values df.count() # Return Series of given column df['Name'].tolist() # Name of columns df.columns.tolist() # Creating subset df[['Name', 'Course']] # Return number of values in each group df.groupby('Name').count()
Primjena funkcija
apply() gura funkciju preko svake vrijednosti. Pravila poravnanja zatim odluฤuju ลกto se dogaฤa kada dva objekta dijele samo dio svog indeksa.
# Define function f = lambda x: x*5 # Apply this function on given Series - For each value s.apply(f) # Apply this function on given DataFrame - For each value df.apply(f)
1. Interno usklaฤivanje podataka
# NA values for indices that don't overlap s2 = pd.Series([8, -1, 4], index=['A', 'C', 'D']) s + s2
2. Aritmetika Operacije s metodama popunjavanja
# Fill values that don't overlap
s.add(s2, fill_value=0)
3. Filtriraj, sortiraj i grupiraj prema
Ove funkcije mogu se koristiti za filtriranje, sortiranje i grupiranjeping Objekti serije i DataFramea.
# Filter rows where column is greater than 100 df[df['RollNo']>100] # Filter rows where 70 < column < 101 df[(df['RollNo'] > 70) & (df['RollNo'] < 101)] # Sorts values in ascending order s.sort_values() # Sorts values in descending order s.sort_values(ascending=False) # Sorts values by RollNo in ascending order df.sort_values('RollNo') # Sorts values by RollNo in descending order df.sort_values('RollNo', ascending=False)
Izvoz podataka
Svaki program za pisanje u nastavku zrcali ฤitaฤ iz odjeljka za uvoz, tako da datoteka moลพe obaviti kruลพno putovanje bez dodatnih alata.
# Export as a CSV file df df.to_csv(filename) # Export as a Excel file df df.to_excel(filename) # Export as a SQL table df df.to_sql(table_name, connection_object) # Export as a JSON file df.to_json(filename) # Export as a HTML table df.to_html(filename) # Write to the clipboard df.to_clipboard()
Colab of Cheat Sheet
Svaka naredba ovdje se moลพe pokrenuti u prateฤoj biljeลพnici: Pandas Cheat Sheet โ Python za znanost o podacima.ipynb.

