def exploratory_data_analysis(data):
# rows and column
rows = data.shape[0]
columns = data.shape[1]
# data type
data_type = [data.dtypes for column in data.columns]
#Top five rows
top = data.head()
#Last five rows
last = data.tail()
#descriptive stats
describe = data.describe()
# Missing Value
missing = data.isnull().sum()
# duplicate values
dups = sum(data.duplicated())
# Pearson Correlation
plt.subplots(figsize=(25,10))
correlation = sns.heatmap(data.corr(), annot = True)
plt.subplots(figsize=(25,10))
#outlier detection
outlier = data.boxplot();
#bivariate analysis
bivariate = sns.pairplot(data)
#creating a dictionary
eda = {'Total Rows':rows,
'Total Columns': columns,
'Data Type': data_type,
'Top_five' : top,
'Last_five' : last,
'Statistical_Summary': describe,
'Missing_Value': missing,
'Duplicate Value': dups,
'Correlation': correlation,
'Outlier Detection': outlier,
'Bivariate Analysis': bivariate}
return eda