Pandas Cheat Sheet pentru Data Science în Python

⚡ Rezumat inteligent

Fișele informative Pandas condensează cele mai utilizate comenzi ale bibliotecii într-o singură pagină. Această referință le grupează în funcție de sarcină: instalare, construire de serii și DataFrame-uri, importul de fișiere, selectarea rândurilor, curățarea datelor, aplicarea funcțiilor și exportarea rezultatelor.

  • 🔘 Două structuri: Series conține o dimensiune etichetată, în timp ce DataFrame conține două cu tipuri mixte de coloane.
  • ☑️ Importați orice: read_csv, read_excel, read_sql, read_json și read_html încarcă fișiere într-un DataFrame.
  • Selecție precisă: loc selectează după etichetă, iloc după poziție, iar măștile booleene filtrează rândurile după condiție.
  • 🧪 Curățare fiabilă: isnull, dropna, fillna, drop_duplicates și înlocuiesc gestionarea golurilor și a înregistrărilor repetate.
  • 🛠️ Inspectați rapid: Formă, informații, tipuri de date și descriere, rezumat structura și statisticile înainte de începerea analizei.
  • ⚠️ Notă privind versiunea: Pandas 3.0 activează implicit funcția Copy-on-Write, așadar atribuirea în lanț generează o eroare.

Pandas Cheat Sheet pentru Data Science în Python

Ce este o fișă informativă despre Pandas?

Biblioteca Pandas conține sute de funcții, însă doar un mic subset apare în munca de zi cu zi. A Fișă de cheat cu panda este o referință de o pagină care listează acele comenzi, grupate după sarcina pe care o îndeplinesc.

Acoperă structurile Series și DataFrame, importul și exportul fișierelor, selectarea și ordonarea datelor, curățarea valorilor și aplicarea funcțiilor. Fiecare secțiune de mai jos conține o scurtă explicație cu cod rulabil, astfel încât pagina servește și ca o reîmprospătare a informațiilor. abilități de analiză a datelor.

👉 Descărcați PDF-ul Cheat Sheet aici

Cum se instalează și se importă Pandas

Două comenzi configurează Pandas și ambele rulează într-un terminal sau într-un Jupyter Blocnotes celulă.

Pasul 1) Instalați Pandas

Executați această comandă o dată per mediu; adăugați un semn de exclamare înainte de aceasta într-o celulă a blocnotesului.

pip install pandas

Pasul 2) Importați fișiere Panda

Importați pachetul sub aliasul pd, lucru pe care îl presupune fiecare exemplu de aici.

import pandas as pd

Acum puteți apela funcții Pandas pentru a manipula, analiza și curăța date. Secțiunile de mai jos le listează în ordinea în care le accesați în mod normal.

Structuri de date Pandas

Pandas are două structuri de date, serie și DataFrameAmbele sunt etichetate ca tablouri și ambele pot conține orice tip de date. Singura diferență este dimensionalitatea: o serie este un tablou unidimensional, iar un DataFrame este un tablou bidimensional construit din NumPy matricele dedesubt.

Caracteristică serie DataFrame
Dimensiuni Unidimensional Bidimensional
Susține O singură coloană etichetată Multe coloane, tipuri de date mixte
Constructor pd.Series() pd.DataFrame()

1. Seria

Este o matrice etichetată unidimensională. Poate conține orice tip de date și None devine o valoare lipsă.

s = pd.Series([2, -4, 6, 3, None], index=['A', 'B', 'C', 'D', 'E'])

2. DataFrame

Este o matrice etichetată bidimensională. Poate conține orice tip de date și coloane de diferite dimensiuni.

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()

Fișa informativă imprimabilă de mai jos colectează aceleași comenzi pe o singură pagină.

Fișă informativă Pandas imprimabilă care listează comenzile Series și DataFrame

Importul datelor

Pandas poate citi multe tipuri de fișiere direct într-un DataFrame. Fiecare cititor de mai jos returnează unul și read_csv () este cel mai utilizat.

# 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)

Selecţie

Puteți selecta elemente după locația lor sau după eticheta indexului lor. Aceeași sintaxă a parantezelor drepte alege rânduri, coloane și felii din ambele structuri.

1. Seria

# 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]

Selectarea prin indexare booleană și setare

Utilizare iloc și iat pentru poziții întregi și loc și at pentru etichete.

1. După poziție

df.iloc[0, 1]

df.iat[0, 1]

2. După Etichetă

df.loc[[0],  ['Name']]

3. După Etichetă/Poziție

df.loc[2] # Both are same
df.iloc[2]

4. Indexare booleană

O mască booleană păstrează doar rândurile în care condiția este True. Al doilea exemplu adaugă operatorul NOT ~, deci returnează și valori care nu sunt mai mari de 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()

Curatarea datelor

Pentru Python În scopul curățării datelor, puteți efectua următoarele operațiuni:

  • Redenumiți coloanele folosind rename() metodă.
  • Actualizați valorile folosind at[] or iat[] metodă de accesare și modificare a unor elemente specifice.
  • Creați o copie a unei serii sau a unui DataFrame folosind copy() metodă.
  • Verificați valorile NULL folosind isnull() și plasați-le folosind metoda dropna() metodă.
  • Verificați dacă există valori duplicate folosind duplicated() metoda. Aruncați-le folosind drop_duplicates() metodă.
  • Înlocuiți valorile NULL folosind fillna() metodă cu o valoare specificată.
  • Înlocuiți valorile folosind replace() metodă.
  • Sortează valorile folosind sort_values() metodă.
  • Clasificați valorile folosind rank() metodă.
# 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()

Rețineți că s1 = s creează doar un al doilea nume pentru același obiect, niciodată o copie — de aceea copy() îl urmează.

Preluarea informațiilor

Puteți efectua următoarele operațiuni pentru a recupera informații:

  • Folosește shape atribut pentru a obține numărul de rânduri și coloane.
  • Folosește head() or tail() metodă pentru a obține primele sau ultimele rânduri ca eșantion.
  • Folosește info(), describe() or dtypes metodă de obținere a informațiilor despre tipul de date, numărător, medie, deviație standard, valori minime și maxime.
  • Folosește count(), min(), max(), sum(), mean() și median() metode de obținere a informațiilor statistice specifice pentru valori.
  • Folosește loc[] metodă de obținere a unui rând.
  • Folosește groupby() metodă de aplicare a funcției GROUP BY pentru a grupa valori similare într-o coloană a unui DataFrame.

1. Informatii de baza

# 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. Rezumat

# 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()

Aplicarea Funcțiilor

apply() împinge o funcție peste fiecare valoare. Regulile de aliniere decid apoi ce se întâmplă când două obiecte au în comun doar o parte din indexul lor.

# 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. Alinierea internă a datelor

# NA values for indices that don't overlap
s2 = pd.Series([8, -1, 4],  index=['A',  'C',  'D'])
s + s2

2. Aritmetica Operacu metode de umplere

# Fill values that don't overlap
s.add(s2, fill_value=0)

3. Filtrați, sortați și grupați după

Aceste funcții pot fi folosite pentru filtrare, sortare și grupareping Obiecte Series și DataFrame.

# 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)

Exportarea datelor

Fiecare scriitor de mai jos oglindește un cititor din secțiunea de import, astfel încât un fișier poate face călătoria dus-întors fără instrumente suplimentare.

# 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 de Cheat Sheet

Fiecare comandă de aici poate fi executată în caietul însoțitor: Cheat Sheet Pandas - Python pentru Data Science.ipynb.

Întrebări frecvente

Copiere la scriere este întotdeauna activată, șirurile folosesc un tip de date str dedicat, iar atribuirea în lanț pe o copie filtrată generează ChainedAssignmentError. Atribuiți prin .loc în schimb. Fiecare comandă de aici rulează în continuare pe panda 3.0.

pd.merge() se conectează la cheile partajate așa cum o SQL `join` face asta, `df.join()` aliniază la index, iar `pd.concat()` stivuiește cadrele. Folosește `merge` pentru chei, `concat` pentru adăugare.

df.pivot_table() transformă rândurile lungi într-o grilă agregată lată, pd.melt() inversează acest lucru, iar stack() sau unstack() mută un nivel între index și coloane.

pd.to_datetime() convertește textul în datetime64, accesorul .dt expune anul, luna și ziua lucrătoare, iar resample() agregă după zi, săptămână sau lună odată ce acea coloană este indexul.

Operațiile vectorizate rulează în C compilat pe întregul array, în timp ce apply() apelează un Python funcție o dată pe rând. Schimbareping O funcție apply() pe rânduri pentru o expresie vectorizată este adesea de zece ori mai rapidă.

Asistenții inteligenți artificiali transpun o descriere simplă a rezultatului în apeluri concrete, sugerând funcțiile groupby, merge sau pivot_table cu argumentele de care are nevoie fiecare. Verificați sugestia mai întâi pe un eșantion mic.

Da. Copilotul GitHub transformă un comentariu precum grupare după curs și numărătoare în cod Pandas funcțional în interior JupyterTratați rezultatul ca o schiță și verificați numărul de rânduri.

Transmite dtype către read_csv (), convertește coloanele de text repetate în categorii, degradează numerele cu pd.to_numeric și încarcă în bucăți folosind chunksize. df.info() raportează amprenta reală.

Rezumați această postare cu: