76 commands · 5 cheat sheets · Python

Pandas Data Analysis master quick reference

Browse 76 commands from 5 focused cheat sheets on page 1 of 1. Each example opens its matching detailed section.

Pandas Data Analysis · 15 commands

Pandas Data Cleaning and Missing Data Cheat Sheet

Open full cheat sheet
UseSyntaxExamples
Count missing valuesmissing = df.isna().sum()View examples
Select complete rowscomplete = df.loc[df[['id', 'email']].notna().all(axis='columns')]View examples
Drop incomplete recordsclean = df.dropna(subset=['customer_id', 'ordered_at'])View examples
Fill column defaultsclean = df.fillna({'country': 'unknown', 'quantity': 0})View examples
Forward-fill brieflydf['status'] = df['status'].ffill(limit=1)View examples
Interpolate numeric gapsdf['reading'] = df['reading'].interpolate(limit_area='inside')View examples
Replace sentinelsdf['status'] = df['status'].replace({'N/A': pd.NA, '': pd.NA})View examples
Normalize textdf['email'] = df['email'].str.strip().str.lower()View examples
Normalize categoriesdf['status'] = df['status'].replace({'in progress': 'active', 'open': 'active'})View examples
Parse numeric valuesdf['amount'] = pd.to_numeric(df['amount'], errors='coerce')View examples
Parse exact datesdf['ordered_at'] = pd.to_datetime(df['ordered_at'], format='%Y-%m-%d', errors='coerce')View examples
Use nullable dtypesdf = df.convert_dtypes()View examples
Find values out of rangeinvalid = df.loc[df['quantity'].notna() & ~df['quantity'].between(1, 100)]View examples
Find duplicate keysduplicates = df.loc[df.duplicated('order_id', keep=False)]View examples
Keep the latest recordlatest = df.sort_values('updated_at').drop_duplicates('order_id', keep='last')View examples

Pandas Data Analysis · 16 commands

Pandas DataFrames and Indexing Cheat Sheet

Open full cheat sheet
UseSyntaxExamples
Create a DataFramedf = pd.DataFrame({'name': ['Ada', 'Lin'], 'score': [91, 84]})View examples
Read CSV datadf = pd.read_csv('scores.csv', usecols=['name', 'score'])View examples
Preview rowspreview = df.head(3)View examples
Inspect column typestypes = df.dtypesView examples
Select one columnscores = df['score']View examples
Select by labelsresult = df.loc[df.index[:2], ['name', 'score']]View examples
Select by positionresult = df.iloc[:2, [0, 2]]View examples
Filter with a maskhigh_scores = df.loc[df['score'].ge(90)]View examples
Match allowed valuesselected = df.loc[df['team'].isin({'red', 'blue'})]View examples
Query rowsselected = df.query('score >= @minimum and active')View examples
Update matching rowsdf.loc[df['score'].ge(90), 'level'] = 'advanced'View examples
Create a derived columnresult = df.assign(percent=lambda frame: frame['score'] / frame['possible'] * 100)View examples
Rename columnsresult = df.rename(columns={'score': 'points'})View examples
Sort rowsresult = df.sort_values(['team', 'score'], ascending=[True, False])View examples
Set an indexindexed = df.set_index('student_id', verify_integrity=True)View examples
Restore a column indexflat = indexed.reset_index()View examples

Pandas Data Analysis · 15 commands

Pandas GroupBy, Aggregation, and Reshaping Cheat Sheet

Open full cheat sheet
UseSyntaxExamples
Sum by grouptotals = df.groupby('region')['revenue'].sum()View examples
Keep group columnstotals = df.groupby('region', as_index=False)['revenue'].sum()View examples
Group by several keystotals = df.groupby(['region', 'product'], as_index=False)['revenue'].sum()View examples
Name aggregate columnssummary = df.groupby('region').agg(total=('revenue', 'sum'), average=('revenue', 'mean'))View examples
Count group rowscounts = df.groupby('region').size()View examples
Count present valuescounts = df.groupby('region')['revenue'].count()View examples
Broadcast group totalsdf['region_total'] = df.groupby('region')['revenue'].transform('sum')View examples
Calculate group sharedf['share'] = df['revenue'] / df.groupby('region')['revenue'].transform('sum')View examples
Calculate grouped running totalsdf['running'] = df.groupby('account')['amount'].cumsum()View examples
Keep qualifying groupsresult = df.groupby('region').filter(lambda group: len(group) >= 2)View examples
Pivot unique coordinateswide = df.pivot(index='date', columns='metric', values='value')View examples
Aggregate a pivot tablewide = df.pivot_table(index='region', columns='product', values='revenue', aggfunc='sum', fill_value=0)View examples
Unpivot wide columnslong = df.melt(id_vars='id', var_name='metric', value_name='value')View examples
Explode list valueslong = df.explode('tags', ignore_index=True)View examples
Build a cross-tabulationcounts = pd.crosstab(df['region'], df['status'], margins=True)View examples

Pandas Data Analysis · 14 commands

Pandas Merging, Joining, and Concatenation Cheat Sheet

Open full cheat sheet
UseSyntaxExamples
Keep matching keysresult = orders.merge(customers, on='customer_id', how='inner')View examples
Preserve left rowsresult = orders.merge(customers, on='customer_id', how='left')View examples
Join different key namesresult = orders.merge(customers, left_on='customer_id', right_on='id', how='left')View examples
Validate key cardinalityresult = orders.merge(customers, on='customer_id', validate='many_to_one')View examples
Track row provenanceaudit = left.merge(right, on='id', how='outer', indicator=True)View examples
Label overlapping columnsresult = current.merge(previous, on='id', suffixes=('_current', '_previous'))View examples
Stack row batchescombined = pd.concat([january, february], ignore_index=True)View examples
Require identical columnscombined = pd.concat(frames, join='inner', ignore_index=True)View examples
Align columns by indexcombined = pd.concat([features, targets], axis='columns')View examples
Preserve batch identitycombined = pd.concat({'jan': january, 'feb': february}, names=['month'])View examples
Join on indexesresult = customers.join(accounts, how='left', validate='one_to_one')View examples
Fill from a fallbackcombined = primary.combine_first(fallback)View examples
Match the nearest prior keyresult = pd.merge_asof(events, rates, on='time', direction='backward')View examples
Show changed valueschanges = before.compare(after, result_names=('before', 'after'))View examples

Pandas Data Analysis · 16 commands

Pandas Time Series, Resampling, and Rolling Cheat Sheet

Open full cheat sheet
UseSyntaxExamples
Parse exact timestampsdf['time'] = pd.to_datetime(df['time'], format='%Y-%m-%d %H:%M', errors='raise')View examples
Normalize to UTCdf['time'] = pd.to_datetime(df['time'], utc=True, errors='coerce')View examples
Create a regular indexindex = pd.date_range('2026-08-01', periods=24, freq='h', tz='UTC')View examples
Set a sorted time indexseries = df.set_index('time').sort_index()View examples
Extract time componentsdf['weekday'] = df['time'].dt.day_name()View examples
Localize wall timeslocalized = naive.dt.tz_localize('America/Sao_Paulo', ambiguous='raise', nonexistent='raise')View examples
Convert time zoneslocal = utc.dt.tz_convert('America/Sao_Paulo')View examples
Aggregate daily totalsdaily = series.resample('D').sum(min_count=1)View examples
Control interval edgesdaily = series.resample('D', closed='right', label='right').sum()View examples
Expose missing intervalshourly = series.asfreq('h')View examples
Interpolate by timehourly = series.resample('h').asfreq().interpolate(method='time', limit_area='inside')View examples
Calculate a rolling meanresult = series.rolling('3h', min_periods=2).mean()View examples
Calculate an expanding totalresult = series.expanding(min_periods=1).sum()View examples
Calculate an EWM meanresult = series.ewm(span=3, adjust=False).mean()View examples
Create a one-period lagdf['previous'] = df['value'].shift(1)View examples
Calculate fractional changedf['change'] = df['value'].pct_change(fill_method=None)View examples
CMDMEMO TERMINALREAD ONLY