Skip to content

Latest commit

Β 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

<<<<<<< HEAD

πŸ“Š Data Analysis & Visualization Lab

🏫 Chennai Institute of Technology β€” Semester 5

Python NumPy Pandas Matplotlib Jupyter


A comprehensive collection of hands-on laboratory experiments exploring data analysis,
manipulation, and visualization using Python's scientific computing ecosystem.


πŸ—‚οΈ Repository Structure

DAV_LAB/
β”‚
β”œβ”€β”€ πŸ“ exp1/
β”‚   β”œβ”€β”€ πŸ““ exp1.ipynb        ← Jupyter Notebook
β”‚   └── 🐍 exp1.py           ← Python Script
β”‚
β”œβ”€β”€ πŸ“ exp2/
β”‚   β”œβ”€β”€ πŸ““ exp2.ipynb        ← Jupyter Notebook (with outputs)
β”‚   └── 🐍 exp2.py           ← Python Script
β”‚
β”œβ”€β”€ πŸ“ exp3/
β”‚   β”œβ”€β”€ πŸ“Š data.csv          ← Sample Dataset
β”‚   β”œβ”€β”€ πŸ““ exp3.ipynb        ← Jupyter Notebook (with outputs)
β”‚   └── 🐍 exp3.py           ← Python Script
β”‚
β”œβ”€β”€ πŸ“ exp4/
β”‚   β”œβ”€β”€ πŸ“Š Google_data (2b.c1).csv  ← Text/CSV Dataset
β”‚   β”œβ”€β”€ πŸ“Š data (2c2).xlsx          ← Excel Spreadsheet Dataset
β”‚   β”œβ”€β”€ πŸ““ exp4.ipynb               ← Jupyter Notebook (with outputs)
β”‚   β”œβ”€β”€ 🐍 exp4.py                  ← Python Script
β”‚   β”œβ”€β”€ πŸ“„ processed_text.csv       ← Exported Processed CSV
β”‚   └── πŸ“„ processed_excel.xlsx     ← Exported Processed Excel
β”‚
β”œβ”€β”€ πŸ“ exp5/
β”‚   β”œβ”€β”€ πŸ“Š iris_dataset(2d).csv     ← Iris CSV Dataset
β”‚   β”œβ”€β”€ πŸ““ exp5.ipynb               ← Jupyter Notebook (with outputs)
β”‚   β”œβ”€β”€ 🐍 exp5.py                  ← Python Script
β”‚   β”œβ”€β”€ πŸ–ΌοΈ histograms.png            ← Feature Distributions Plot
β”‚   β”œβ”€β”€ πŸ–ΌοΈ sepal_length_boxplot.png  ← Sepal Length Boxplot
β”‚   └── πŸ–ΌοΈ pairplot.png              ← Feature Pairwise Scatter/KDE Plot
β”‚
β”œβ”€β”€ πŸ“ exp6/
β”‚   β”œβ”€β”€ πŸ“Š uci_diabetes.csv         ← UCI Diabetes Dataset
β”‚   β”œβ”€β”€ πŸ“Š pima_diabetes.csv        ← Pima Indians Diabetes Dataset
β”‚   β”œβ”€β”€ πŸ““ exp6.ipynb               ← Jupyter Notebook (with outputs)
β”‚   └── 🐍 exp6.py                  ← Python Script
β”‚
β”œβ”€β”€ πŸ“ exp7/
β”‚   β”œβ”€β”€ πŸ“Š uci_diabetes.csv         ← UCI Diabetes Dataset
β”‚   β”œβ”€β”€ πŸ“Š pima_diabetes.csv        ← Pima Indians Diabetes Dataset
β”‚   β”œβ”€β”€ πŸ““ exp7.ipynb               ← Jupyter Notebook (with outputs)
β”‚   β”œβ”€β”€ 🐍 exp7.py                  ← Python Script
β”‚   β”œβ”€β”€ πŸ–ΌοΈ uci_linear_regression.png ← UCI Linear Regression Scatter & Line Plot
β”‚   └── πŸ–ΌοΈ pima_linear_regression.png ← Pima Linear Regression Scatter & Line Plot
β”‚
└── πŸ“„ README.md

πŸ§ͺ Experiments at a Glance

# Experiment Description Key Libraries
1 Environment Setup Verify installation & versions of essential data science packages numpy pandas matplotlib jupyter
2 NumPy Fundamentals Core array operations β€” creation, indexing, slicing, math, reshaping numpy
3 Pandas Data Analysis DataFrame manipulation β€” loading, cleaning, filtering, grouping, exporting pandas
4 Data Input/Output Operations Reading data from CSV, Excel, and Web; missing value treatment; exporting pandas openpyxl
5 Descriptive Analytics (Iris) Exploring statistics, distributions, boxplots, and pairplots on Iris dataset pandas seaborn matplotlib
6 Univariate Statistical Analysis Calculating Mean, Median, Mode, Variance, Std, Skewness, Kurtosis on Diabetes datasets pandas numpy scipy
7 Bivariate Analysis (Linear & Logistic Regression) Linear Regression (Glucose vs BMI) & Logistic Regression (Predicting Diabetes) pandas numpy scikit-learn matplotlib

πŸ“ Detailed Experiment Breakdown

πŸ”¬ Experiment 1 β€” Environment Setup & Package Verification

πŸ“Œ Objective

Verify the installation and versions of all essential data science libraries required for the lab.

πŸ“¦ Packages Checked

Package Status Version
NumPy βœ… Installed 2.2.6
Pandas βœ… Installed 2.3.3
Matplotlib βœ… Installed 3.10.3
JupyterLab βœ… Installed 4.5.1
Seaborn ❌ Not Installed β€”
SciPy ❌ Not Installed β€”
Plotly ❌ Not Installed β€”
Bokeh ❌ Not Installed β€”
Statsmodels ❌ Not Installed β€”

πŸ“‚ Files


πŸ”¬ Experiment 2 β€” Fundamentals of NumPy

πŸ“Œ Objective

Learn and demonstrate core NumPy operations for numerical computing.

🧩 Topics Covered

Section Topic Key Functions
1 Version Verification np.__version__
2 Array Creation np.array(), np.ones()
3 Indexing & Slicing arr[i], arr[start:end], arr[row, col]
4 Element-wise Operations +, -, *, /, scalar math
5 Statistical Aggregations np.sum(), np.mean(), np.std()
6 Comparison & Masking >, boolean indexing, fancy indexing
7 Reshaping & Structured Arrays .reshape(), structured dtype

πŸ’‘ Sample Output

>>> arr_a = np.array([10, 20, 30])
>>> arr_b = np.array([1, 2, 3])
>>> print("Addition:", arr_a + arr_b)
Addition: [11 22 33]

πŸ“‚ Files


πŸ”¬ Experiment 3 β€” Data Analysis & Manipulation using Pandas

πŸ“Œ Objective

Perform real-world data analysis workflows using Pandas DataFrames.

🧩 Topics Covered

Section Topic Key Functions
1 Load & Preview pd.read_csv(), .head(), .tail()
2 Inspection .info(), .describe()
3 Missing Values & Column Ops .fillna(), column arithmetic
4 Filtering & Groupby Boolean conditions, .groupby().mean()
5 Sorting & Boolean Masking .sort_values(), .median() masking
6 Export & Aggregations .to_csv(), .sum(), .mean(), .std()

πŸ’‘ Sample Output

>>> grouped = df.groupby('category_column')['numeric_column'].mean()
>>> print(grouped)
category_column
A    180.0
B    237.5
Name: numeric_column, dtype: float64

πŸ“‚ Files


πŸ”¬ Experiment 4 β€” Reading Data from Text Files, Excel, and the Web

πŸ“Œ Objective

Read and process data from various sources, including CSV text files, Excel spreadsheets, and web-based URLs using Pandas.

🧩 Topics Covered

Section Topic Key Functions
1 Read CSV / Text Data pd.read_csv('Google_data (2b.c1).csv')
2 Read Excel Data pd.read_excel('data (2c2).xlsx', sheet_name='Sheet1')
3 Read Web-Based Data pd.read_csv('https://raw.githubusercontent.com/...')
4 Preview Datasets df.head()
5 Handle Missing Values .ffill(), .bfill(), .dropna()
6 Export Processed Data .to_csv('processed_text.csv'), .to_excel('processed_excel.xlsx')

πŸ’‘ Sample Code & Output

import pandas as pd

text_df = pd.read_csv('Google_data (2b.c1).csv')
excel_df = pd.read_excel('data (2c2).xlsx', sheet_name='Sheet1')
web_df = pd.read_csv('https://raw.githubusercontent.com/cs109/2014_data/master/countries.csv')

print(text_df.head(), "\n", excel_df.head(), "\n", web_df.head())

πŸ“‚ Files


πŸ”¬ Experiment 5 β€” Exploring Descriptive Analytics Using the Iris Dataset

πŸ“Œ Objective

Perform descriptive analytics, summary statistics, univariate, and bivariate visualizations on the Iris dataset using Pandas, Seaborn, and Matplotlib.

🧩 Topics Covered

Section Topic Key Functions
1 Dataset Load & Preview pd.read_csv('iris_dataset(2d).csv')
2 Basic Info & Statistics df.info(), df.describe()
3 Univariate Analysis df['species'].value_counts()
4 Distribution Plots df.hist(figsize=(8, 6), edgecolor='black')
5 Boxplot Analysis sns.boxplot(data=df, x='species', y='sepal length (cm)')
6 Pair Plot Visualizations sns.pairplot(df, hue='species')

πŸ’‘ Sample Code & Output

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

df = pd.read_csv('iris_dataset(2d).csv')
print(df.info())
print(df.describe())

sns.boxplot(data=df, x='species', y='sepal length (cm)')
sns.pairplot(df, hue='species')

πŸ“‚ Files


πŸ”¬ Experiment 6 β€” Statistical Analysis Using Diabetes Datasets (Univariate Analysis)

πŸ“Œ Objective

Perform univariate statistical analysis on the UCI Diabetes and Pima Indians Diabetes datasets to compute central tendency, dispersion, skewness, and kurtosis.

🧩 Topics Covered

Section Topic Key Functions / Metrics
1 Import Datasets pd.read_csv('uci_diabetes.csv'), pd.read_csv('pima_diabetes.csv')
2 Central Tendency np.mean(), np.median(), df[col].mode()[0]
3 Dispersion np.var(ddof=1), np.std(ddof=1)
4 Shape & Tail Metrics scipy.stats.skew(), scipy.stats.kurtosis()
5 Automated Analysis Pipeline Custom function univariate_analysis(df, columns)

πŸ’‘ Sample Code & Output

import pandas as pd
import numpy as np
from scipy.stats import skew, kurtosis

def univariate_analysis(df, columns):
    stats = {}
    for col in columns:
        stats[col] = {
            "Mean": np.mean(df[col]),
            "Median": np.median(df[col]),
            "Mode": df[col].mode()[0],
            "Variance": np.var(df[col], ddof=1),
            "Standard Deviation": np.std(df[col], ddof=1),
            "Skewness": skew(df[col]),
            "Kurtosis": kurtosis(df[col])
        }
    return pd.DataFrame(stats).T

πŸ“‚ Files


πŸ”¬ Experiment 7 β€” Bivariate Analysis: Linear and Logistic Regression Modeling

πŸ“Œ Objective

Perform bivariate analysis on the UCI Diabetes Dataset and Pima Indians Diabetes Dataset using Linear Regression (continuous vs. continuous) and Logistic Regression (binary classification of diabetes presence).

🧩 Topics Covered

Section Topic Key Functions / Metrics
1 Load Datasets pd.read_csv('uci_diabetes.csv'), pd.read_csv('pima_diabetes.csv')
2 Linear Regression LinearRegression(), .fit(), .predict(), r2_score()
3 Regression Visualizations plt.scatter(), plt.plot(), regression line plotting
4 Logistic Regression train_test_split(), LogisticRegression(), accuracy_score()
5 Performance Comparison Evaluating model performance across dataset variations

πŸ’‘ Sample Code & Output

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression, LogisticRegression
from sklearn.metrics import r2_score, accuracy_score

# 1. Linear Regression (Glucose vs. BMI)
model_lin = LinearRegression().fit(df[['Glucose']], df['BMI'])
y_pred = model_lin.predict(df[['Glucose']])
print("R2 Score:", r2_score(df['BMI'], y_pred))

# 2. Logistic Regression (Outcome prediction)
X_train, X_test, y_train, y_test = train_test_split(df[['Glucose', 'BloodPressure', 'BMI', 'Age']], df['Outcome'], test_size=0.2, random_state=42)
model_log = LogisticRegression().fit(X_train, y_train)
print("Accuracy Score:", accuracy_score(y_test, model_log.predict(X_test)))

πŸ“‚ Files


πŸš€ Getting Started

Prerequisites

# Ensure Python 3.x is installed
python --version

# Install required packages
pip install numpy pandas matplotlib seaborn scipy scikit-learn jupyterlab

Running Notebooks

# Clone the repository
git clone https://github.com/NareeshKannaS/DAV-LAB-EXP.git
cd DAV-LAB-EXP

# Launch Jupyter Lab
jupyter lab

Running Python Scripts

# Example: Run Experiment 2
cd exp2
python exp3.py

πŸ› οΈ Tech Stack

Technology Purpose
🐍 Python 3.x Core programming language
πŸ”’ NumPy Numerical computing & array operations
🐼 Pandas Data manipulation & analysis
πŸ“ˆ Matplotlib Data visualization & plotting
πŸ““ Jupyter Lab Interactive notebook environment

πŸ“Š Learning Roadmap

 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚   Exp 1      β”‚     β”‚   Exp 2      β”‚     β”‚   Exp 3      β”‚
 β”‚ Environment  │────▢│   NumPy      │────▢│   Pandas     │──▢ ...
 β”‚   Setup      β”‚     β”‚ Fundamentals β”‚     β”‚  Analysis    β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Note

Each experiment builds upon concepts from the previous one. It is recommended to follow the experiments in order.

Tip

All notebooks include pre-rendered cell outputs so you can review results without running the code.


⭐ Star this repo if you found it helpful!

Made with ❀️ for Data Analysis & Visualization Lab

======= # DAV-LAB-EXP >>>>>>> f4a60fb126ce4a50d61afe94c5995a90c36c8569

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages