0% found this document useful (0 votes)
11 views

5616-1700040380952-HND - APDD - W10 - Data Structures and Data Analysis Libraries in Python

Uploaded by

Anojan Anoj
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

5616-1700040380952-HND - APDD - W10 - Data Structures and Data Analysis Libraries in Python

Uploaded by

Anojan Anoj
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 16

UNIT 20 -Applied Programming and

Design Principles
Week [10] –Data Structures and Data Analysis
Libraries in Python

1
User-Defined Data Structures - Linked List
A linked list is a linear collection of data elements, called nodes, where
each node contains a value and a reference (or link) to the next node
in the sequence. Linked lists are flexible data structures that can be
efficiently manipulated without shifting elements in memory.
Operations:
insert(): Inserts a new node into the list at a specific position.
search(): Searches for a specific node or data within the list.
delete(): Removes a node from the list.
traverse(): Visits each node in the list in a sequential manner.
2
Applications
 Implementing dynamic arrays and memory allocation.
 Representing undo/redo functionality in text editors and graphics
software.
 Storing sequential data, such as lists of tasks or playlists.

3
4
User-Defined Data Structures - Graph
A graph is a non-linear data structure consisting of nodes (vertices) and edges
(links) that connect pairs of nodes. Graphs are used to represent relationships
between entities, such as social networks, transportation networks, and maps.

Operations:
addVertex(): Adds a new vertex to the graph.
addEdge(): Creates an edge connecting two vertices.
removeVertex(): Removes a vertex and its associated edges from the graph.
removeEdge(): Deletes an edge between two vertices.
traverse(): Visits each vertex in the graph and explores its connected edges.
5
Applications
 Social networking platforms and recommendation systems.
 Routing algorithms for navigation and transportation.
 Modeling complex relationships in various domains, such as
biology, chemistry, and computer science.

6
Data Analysis Libraries in Python
 Importance of Data Analysis Libraries
 Data analysis is a crucial aspect of programming, used in
various domains like finance, science, and engineering.
 Python offers powerful libraries for efficient data analysis.
 Popular Data Analysis Libraries in Python
 NumPy, SciPy, Matplotlib, Plotly
 Each library serves specific purposes in data analysis and
visualization.
7
NumPy - Numerical Computing
 NumPy is a fundamental library in Python's scientific computing
ecosystem. It provides a powerful array data structure, called
ndarray, which offers efficient operations for numerical
computations, data manipulation, and linear algebra.
 Features:
 Efficient array operations: Supports vectorization, broadcasting, and
advanced mathematical functions.
 Data manipulation: Facilitates data cleaning, filtering, and transformation.
 Linear algebra: Provides matrix operations, eigenvalue decomposition,
and solving linear systems.

8
Applications
 Machine learning: Data preprocessing, feature engineering, and model training.
 Scientific computing: Numerical simulations, data analysis, and modeling.
 Data visualization: Creating histograms, scatter plots, and other data
visualizations.

9
SciPy - Scientific Computing
 SciPy builds upon NumPy and provides a comprehensive suite of tools
for scientific computing and data analysis. It encompasses functions for
optimization, integration, interpolation, and statistical analysis.
 Features:
 Optimization: Finds the minimum or maximum of a function using various
optimization algorithms.
 Integration: Numerically evaluates definite and indefinite integrals.
 Interpolation: Estimates values within a set of data points.
 Statistical analysis: Performs statistical tests, calculates probability
distributions, and generates random variables.

10
Applications
 Machine learning: Model optimization, hyperparameter tuning, and error estimation.
 Scientific computing: Solving differential equations, analyzing experimental data, and
building scientific models.
 Data analysis: Statistical inference, hypothesis testing, and exploring data patterns.

11
Matplotlib - Data Visualization
 Matplotlib is a versatile library for creating 2D data visualizations
in Python. It provides a wide range of plot types, including line
graphs, bar charts, scatter plots, and histograms.
 Features:
 Comprehensive plot types: Supports various plot types for different
types of data and analysis needs.
 Customization: Offers extensive customization options for plot styles,
colors, labels, and annotations.
 Interactive plotting: Enables interactive exploration of data with
zooming, panning, and tooltip generation.
12
Applications
 Data exploration: Visualizing trends, patterns, and relationships within datasets.
 Model evaluation: Plotting model predictions, performance metrics, and diagnostic plots.
 Communication: Creating publication-quality charts, figures, and infographics.

13
Plotly - Interactive Data Visualization
 Plotly is a library for creating interactive data visualizations in Python.
It enables the creation of dynamic charts, maps, and dashboards that
can be embedded in web applications and dashboards.
 Features:
 Interactive plots: Supports zooming, panning, and brushing for exploring data
interactively.
 Wide range of plot types: Offers various plot types, including line graphs, bar
charts, scatter plots, maps, and 3D visualizations.
 Web embedding: Enables embedding visualizations in web applications and
dashboards

14
Applications
 Web-based data visualization: Creating interactive dashboards for data exploration
and analysis.
 Financial data visualization: Visualizing stock prices, market trends, and investment
performance.
 Scientific data visualization: Exploring scientific data, simulating complex
phenomena, and communicating findings.

15
Lesson Summary

 User-Defined Data Structures –


 Linked List
 Graph

 Data Analysis Libraries in Python


 NumPy
 SciPy
 Matplotlib
Thank You
 Plotly
Mahesh Madhushan – BSc. in ICT (RUSL), BEng. In SE Hons (UK), MSc IT (UOP)
16

You might also like