Pandas Cheat Sheet containing most important functions covered in my AI Class
data = {
'apples': [3, 2, 0, 1],
'oranges': [0, 3, 7, 2]
}
purchases = pd.DataFrame(data)
purchases = pd.DataFrame(data, index=['June', 'Robert', 'Lily', 'David'])
df = pd.read_csv('purchases.csv')
# Or with setting the index column, needs to be set with CSV
df = pd.read_csv('purchases.csv', index_col=0)
# The index is automatically set with json
df = pd.read_json('purchases.json')
import sqlite3
con = sqlite3.connect("database.db")
df = pd.read_sql_query("SELECT * FROM purchases", con)
df = df.set_index('index')
df.to_csv('new_purchases.csv')
df.to_json('new_purchases.json')
df.to_sql('new_purchases', con)
genre_col = movies_df['genre']
genre_col = movies_df[['genre']]
subset = movies_df[['genre', 'rating']]
subset.head()
prom = movies_df.loc["Prometheus"]
prom = movies_df.iloc[1]
movie_subset = movies_df.loc['Prometheus':'Sing']
movie_subset = movies_df.iloc[1:4]
condition = (movies_df['director'] == "Ridley Scott")
movies_df[movies_df['director'] == "Ridley Scott"].head() # Returns a Dataframe where Director is Ridley Scott
movies_df[movies_df['rating'] >= 8.6].head(3)
movies_df[(movies_df['director'] == 'Christopher Nolan') | (movies_df['director'] == 'Ridley Scott')].head()
# OR Simply
movies_df[movies_df['director'].isin(['Christopher Nolan', 'Ridley Scott'])].head()
movies_df[
((movies_df['year'] >= 2005) & (movies_df['year'] <= 2010))
& (movies_df['rating'] > 8.0)
& (movies_df['revenue_millions'] < movies_df['revenue_millions'].quantile(0.25))
]
def rating_function(x):
if x >= 8.0:
return "good"
else:
return "bad"
movies_df["rating_category"] = movies_df["rating"].apply(rating_function)
movies_df.head() # Print first 5 rows
movies_df.head(10) # Print first 10 rows
movies_df.tail() # Print last 5 Rows
movies_df.tail(2) # Print last 2 rows
movies_df.info() # Output info regarding datatypes
movies_df.shape # Outputs number of rows and columns
### Duplicate Data Handling
temp_df = temp_df.drop_duplicates() # Drops duplicate data
# Or
temp_df.drop_duplicates(inplace=True)
# Keeping duplicate data
temp_df.drop_duplicates(inplace=True, keep=True)
### Renaming Columns
movies_df.rename(columns={
'Runtime (Minutes)': 'Runtime',
'Revenue (Millions)': 'Revenue_millions'
}, inplace=True)
# Can also be set directly
movies_df.columns = ['rank', 'genre', 'description', 'director', 'actors', 'year', 'runtime',
'rating', 'votes', 'revenue_millions', 'metascore']
# Setting column names lowercase
movies_df.columns = [col.lower() for col in movies_df]
### Handling Null Values
movies_df.isnull() # Returns a column with either True or False for null or not
movies_df.isnull().sum() # Returns a count of all null entries
# Removing Nulls
movies_df.dropna()
# Specify the axis to drop against
movies_df.dropna(axis=1)
import matplotlib.pyplot as plt
plt.rcParams.update({'font.size': 20, 'figure.figsize': (10, 8)}) # set font and plot size to be larger
movies_df.plot(kind='scatter', x='rating', y='revenue_millions', title='Revenue (millions) vs Rating');
movies_df['rating'].plot(kind='hist', title='Rating');
movies_df['rating'].plot(kind="box");
No comments yet.
Cheatography n. The art of mapping complex subjects into clear, instantly navigable reference guides.