Pandas-huijauslehti tietotieteelle sisään Python
⚡ Älykäs yhteenveto
Pandan lunttilaput tiivistävät kirjaston käytetyimmät komennot yhdelle sivulle. Tämä viite ryhmittelee ne tehtävien mukaan: asentaminen, sarjojen ja datakehysten kokoaminen, tiedostojen tuominen, rivien valitseminen, tietojen puhdistaminen, funktioiden soveltaminen ja tulosten vienti.
Mikä on Panda-lunttilappu?
Pandas-kirjasto sisältää satoja funktioita, mutta vain pieni osa niistä esiintyy jokapäiväisessä työssä. Pandojen lunttilappu on yhden sivun mittainen opas, jossa luetellaan komennot ryhmiteltyinä niiden suorittaman tehtävän mukaan.
Se kattaa Series- ja DataFrame-rakenteet, tiedostojen tuonnin ja viennin, datan valinnan ja järjestämisen, arvojen puhdistamisen ja funktioiden soveltamisen. Jokainen alla oleva osio yhdistää lyhyen selityksen suoritettavaan koodiin, joten sivu toimii myös kertauksena... data-analyysitaidot.
👉 Lataa Cheat Sheetin PDF tästä
Pandojen asentaminen ja tuominen
Kaksi komentoa käynnistää Pandasin, ja molemmat toimivat terminaalissa tai Jupyter muistikirja solu.
Vaihe 1) Asenna Pandas
Suorita tämä kerran ympäristöä kohden; lisää sen eteen huutomerkki muistikirjan solussa.
pip install pandas
Vaihe 2) Tuo pandat
Tuo paketti aliaksen alla pd, minkä jokainen esimerkki tässä olettaa.
import pandas as pd
Voit nyt kutsua Pandas-funktioita datan käsittelyyn, analysointiin ja puhdistamiseen. Alla olevat osiot luettelevat ne siinä järjestyksessä kuin yleensä käytät niitä.
Pandasin tietorakenteet
Pandoilla on kaksi tietorakennetta, Sarjat ja DatakehysMolemmat ovat nimettyjä taulukoita ja molemmat voivat sisältää mitä tahansa tietotyyppiä. Ainoa ero on ulottuvuus: Series on yksiulotteinen taulukko ja DataFrame on kaksiulotteinen taulukko, joka on rakennettu . nuhjuinen alla olevat taulukot.
| Ominaisuus | Sarjat | Datakehys |
|---|---|---|
| Mitat | Yksiulotteinen | Kaksiulotteinen |
| Omistaa | Yksi merkitty sarake | Monta saraketta, sekalaisia tietotyyppejä |
| Rakentaja | pd.Sarja() | pd.DataFrame() |
1. Sarja
Se on yksiulotteinen nimetty taulukko. Se voi sisältää mitä tahansa tietotyyppiä ja None muuttuu puuttuvaksi arvoksi.
s = pd.Series([2, -4, 6, 3, None], index=['A', 'B', 'C', 'D', 'E'])
2. DataFrame
Se on kaksiulotteinen nimetty taulukko. Se voi sisältää minkä tahansa tyyppisiä tietoja ja eri kokoisia sarakkeita.
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()
Alla oleva tulostettava lunttilappu kokoaa samat komennot yhdelle sivulle.
Tietojen tuominen
Pandat voivat lukea useita tiedostotyyppejä suoraan DataFrameen. Jokainen alla oleva lukija palauttaa yhden, ja read_csv () on eniten käytetty.
# 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)
Valinta
Voit valita elementtejä niiden sijainnin tai indeksitunnisteen perusteella. Sama hakasulkeissa käytettävä syntaksi valitsee rivit, sarakkeet ja osiot molemmista rakenteista.
1. Sarja
# 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]
Valinta Boolen indeksoinnilla ja asetuksilla
Käyttää iloc ja iat kokonaislukupaikoille ja loc ja at tarroja varten.
1. Aseman mukaan
df.iloc[0, 1] df.iat[0, 1]
2. Etiketin mukaan
df.loc[[0], ['Name']]
3. Merkin/paikan mukaan
df.loc[2] # Both are same
df.iloc[2]
4. Boolen indeksointi
Totuusarvoinen maski säilyttää vain rivit, joilla ehto on True. Toinen esimerkki lisää NOT-operaattorin. ~, joten se palauttaa myös arvoja, jotka eivät ole suurempia kuin 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()
Tietojen puhdistus
varten Python tietojen puhdistusta varten, voit suorittaa seuraavat toiminnot:
- Nimeä sarakkeet uudelleen käyttämällä
rename()menetelmällä. - Päivitä arvot käyttämällä
at[]oriat[]menetelmä tiettyjen elementtien käyttämiseen ja muokkaamiseen. - Luo kopio sarjasta tai DataFramesta käyttämällä
copy()menetelmällä. - Tarkista NULL-arvot käyttämällä
isnull()menetelmällä ja pudota ne käyttämällädropna()menetelmällä. - Tarkista kaksoisarvot käyttämällä
duplicated()menetelmällä. Pudota ne käyttämällädrop_duplicates()menetelmällä. - Korvaa NULL-arvot käyttämällä
fillna()menetelmä, jolla on määritetty arvo. - Korvaa arvot käyttämällä
replace()menetelmällä. - Lajittele arvot käyttämällä
sort_values()menetelmällä. - Järjestä arvot käyttämällä
rank()menetelmällä.
# 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()
Huomaa, että s1 = s luo samalle objektille vain toisen nimen, ei koskaan kopiota – siksi copy() seuraa sitä.
Tietojen hakeminen
Voit suorittaa seuraavat toiminnot tiedon hakemiseksi:
- Käytä
shapeattribuutti rivien ja sarakkeiden lukumäärän selvittämiseksi. - Käytä
head()ortail()menetelmä ensimmäisten tai viimeisten rivien hankkimiseksi otoksena. - Käytä
info(),describe()ordtypesmenetelmä tiedon hankkimiseksi tietotyypistä, lukumäärästä, keskiarvosta, keskihajonnasta sekä minimi- ja maksimiarvoista. - Käytä
count(),min(),max(),sum(),mean()jamedian()menetelmiä arvoille ominaisten erityisten tilastotietojen hankkimiseksi. - Käytä
loc[]menetelmä rivin saamiseksi. - Käytä
groupby()menetelmä GROUP BY -funktion käyttämiseen ryhmittelemään samankaltaisia arvoja DataFramen sarakkeessa.
1. Perustiedot
# 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. Yhteenveto
# 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()
Toimintojen käyttäminen
apply() työntää funktion jokaisen arvon yli. Tasaussäännöt päättävät sitten, mitä tapahtuu, kun kahdella objektilla on sama vain osa indeksistään.
# 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. Sisäisten tietojen kohdistus
# NA values for indices that don't overlap s2 = pd.Series([8, -1, 4], index=['A', 'C', 'D']) s + s2
2. Aritmetiikka Operatäyttömenetelmillä
# Fill values that don't overlap
s.add(s2, fill_value=0)
3. Suodata, lajittele ja ryhmittele
Näitä funktioita voidaan käyttää suodattamiseen, lajitteluun ja ryhmittelyynping Sarja- ja DataFrame-objektit.
# 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)
Tietojen vienti
Jokainen alla oleva kirjoittaja peilaa tuontiosiosta tulleen lukijan, joten tiedosto voi kulkea edestakaisin ilman ylimääräisiä työkaluja.
# 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
Jokainen tässä oleva komento on suoritettavissa kumppanimuistikirjassa: Panda-huijauslehti - Python for Data Science.ipynb.

