mirror of
https://github.com/youronlydimwit/Data_ScienceUse_Cases.git
synced 2025-12-22 18:20:07 +01:00
58 lines
1.7 KiB
Python
58 lines
1.7 KiB
Python
#!/usr/bin/env python
|
|
# coding: utf-8
|
|
|
|
# In[1]:
|
|
|
|
|
|
def data_desc_graph(df):
|
|
try:
|
|
# Check if necessary libraries are already imported
|
|
import pandas as pd
|
|
import matplotlib.pyplot as plt
|
|
import math
|
|
except ImportError:
|
|
# If any library is not imported, load the necessary libraries
|
|
import pandas as pd
|
|
import matplotlib.pyplot as plt
|
|
import math
|
|
return "Libraries loaded"
|
|
|
|
num_columns = df.shape[1]
|
|
|
|
if num_columns % 3 == 0:
|
|
num_rows = num_columns // 3
|
|
else:
|
|
num_rows = math.ceil(num_columns / 3)
|
|
|
|
fig, axes = plt.subplots(num_rows, 3, figsize=(15, 5 * num_rows))
|
|
axes = axes.flatten()
|
|
|
|
for i, column in enumerate(df.columns):
|
|
ax = axes[i]
|
|
if pd.api.types.is_numeric_dtype(df[column]):
|
|
# If the dtype is numeric, show a histogram
|
|
df[column].plot(kind='hist', ax=ax, color='skyblue', edgecolor='black')
|
|
ax.set_title(f'Histogram for {column}')
|
|
ax.set_xlabel(column)
|
|
ax.set_ylabel('Frequency')
|
|
else:
|
|
# If the dtype is not numeric, show a bar chart
|
|
value_counts = df[column].value_counts()
|
|
value_counts.plot(kind='bar', ax=ax, rot=45, color='skyblue', edgecolor='black')
|
|
ax.set_title(f'Bar Chart for {column}')
|
|
ax.set_xlabel(column)
|
|
ax.set_ylabel('Count')
|
|
|
|
fig.suptitle('This script produces Histogram for Numerical Data, Bar Charts for Categorical Data', fontsize=16)
|
|
plt.tight_layout(rect=[0, 0, 1, 0.96]) # Adjust the layout for the main title
|
|
plt.show()
|
|
|
|
return "Dependencies Satisfied"
|
|
|
|
|
|
# In[ ]:
|
|
|
|
|
|
|
|
|