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.

