Part 2: Data Analysis with powerful Python

Analyzing and visualizing data from a SQLite database in Python can be a powerful way to gain insights and present your findings. In this blog, I will walk you through the steps to retrieve data from a SQLite database file named gold.db and display it in the form of a chart using Python. We'll use some essential tools and libraries for this task.

Tools you will need !

Before we start, make sure you have the following tools and libraries installed:

  1. Python: Python is the core programming language for this task. You can download it from python.org.

  2. SQLite Database Browser: You can use a tool like DB Browser for SQLite to explore the database and its structure. This is optional but can be helpful for understanding the database schema.

  3. Jupyter Notebook (optional): Jupyter Notebook is an interactive environment that makes data analysis and visualization easier. You can install it using pip: pip install jupyter.

  4. Python Libraries:

    • sqlite3: This is a built-in library for Python that allows you to work with SQLite databases.

    • pandas: A popular data manipulation library for Python.

    • matplotlib: A widely used library for creating charts and visualizations.

You can install the required libraries using pip:

pip install sqlite3 pandas matplotlib

Steps to analyze and visualize data from SQLite database

Now, let's dive into the steps to analyze and display data from the gold.db database:

Step 1: Connect to the database

First, you need to connect to the SQLite database using the sqlite3 library. Here's how you can do it:

python
import sqlite3
# Connect to the database
conn = sqlite3.connect("gold.db")

Step 2: Query the database to retrieve the required data

query = """
    SELECT
        strftime('%Y-%m', o.OrderDate) AS Month,
        p.MetalType AS ProductType,
        SUM(od.Quantity * od.PriceAtTimeOfPurchase) AS TotalSales
    FROM Orders o
    JOIN OrderDetails od ON o.OrderID = od.OrderID
    JOIN Product p ON od.ProductID = p.ProductID
    GROUP BY Month, ProductType
    ORDER BY Month
"""

Execute the query and fetch the data into a Pandas dataframe:

import pandas as pd 
df = pd.read_sql_query(query, db_connection)

Step 3: Pivot the data for plotting

pivot_df = df.pivot(index='Month', columns='ProductType', values='TotalSales')
pivot_df.fillna(0, inplace=True)

Step 4: Create a chart

Now, it's time to create a chart using the matplotlib library. Let's say you want to create a line chart to visualize the type product prices over time:

import matplotlib.pyplot as pltplt.
# Create a line chartfigure(figsize=(12, 6))
for product_type in pivot_df.columns:
    plt.plot(pivot_df.index, pivot_df[product_type], marker='o', linestyle='-', label=product_type)
    
plt.xlabel('sales Month and year')
plt.ylabel('Total Sales')
plt.title('Total Product Sales by Month')
plt.legend(loc='upper left')
plt.grid(True)
# Rotate x-axis labels for better readability
plt.xticks(rotation=90)
plt.show()

Step 5: Save or display the chart

You can choose to save the chart to a file using plt.savefig("gold_prices_chart.png") or display it within a Jupyter Notebook if you're using one.

That's it! You have successfully analyzed data from the SQLite database and displayed it as a chart in Python. You can adapt these steps to your specific data and charting requirements. Remember to close the database connection when you're done:

# Close the database connection
db_connection.close()

In this blog post, we've covered the essential steps and tools to analyze and visualize data from a SQLite database in Python. Data analysis and visualization are crucial skills for various fields, and Python makes it accessible and powerful for these tasks.

Blog 11/10/23

Part 1: Data Analysis with ChatGPT

In this new blog series we will give you an overview of how to analyze and visualize data, create code manually and how to make ChatGPT work effectively. Part 1 deals with the following: In the data-driven era, businesses and organizations are constantly seeking ways to extract meaningful insights from their data. One powerful tool that can facilitate this process is ChatGPT, a state-of-the-art natural language processing model developed by OpenAI. In Part 1 pf this blog, we'll explore the proper usage of data analysis with ChatGPT and how it can help you make the most of your data.

Blog 11/24/23

Part 3: How to Analyze a Database File with GPT-3.5

In this blog, we'll explore the proper usage of data analysis with ChatGPT and how you can analyze and visualize data from a SQLite database to help you make the most of your data.

Blog 3/11/21

Introduction to Web Programming in F# with Giraffe – Part 2

In this series we are investigating web programming with Giraffe and the Giraffe View Engine plus a few other useful F# libraries.

Blog 1/29/24

Database Analysis Report

This report comprehensively analyzes the auto parts sales database. The primary focus is understanding sales trends, identifying high-performing products, Analyzing the most profitable products for the upcoming quarter, and evaluating inventory management efficiency.

Blog 3/10/21

Introduction to Web Programming in F# with Giraffe – Part 1

In this series we are investigating web programming with Giraffe and the Giraffe View Engine plus a few other useful F# libraries.

Blog 3/12/21

Introduction to Web Programming in F# with Giraffe – Part 3

In this series we are investigating web programming with Giraffe and the Giraffe View Engine plus a few other useful F# libraries.

Workation bei catworkx Teil 2 - Head of Sales Dirk hat es auch ausprobiert
Blog

Buzzword Workation’ Part II - An interview with Dirk

Workation at catworkx – this time with Dirk, our Head of Sales. He talks about his experience working under the Spanish sun and why he would do it again in a heartbeat.

Blog 8/11/22

Part 1: TIMETOACT Logistics Hackathon - Behind the Scenes

A look behind the scenes of our Hackathon on Sustainable Logistic Simulation in May 2022. This was a hybrid event, running on-site in Vienna and remotely. Participants from 12 countries developed smart agents to control cargo delivery truck fleets in a simulated Europe.

Headerbild zu Webserver mit Open Source
Technologie 11/12/20

Web server with Open Source

Web servers provide their application with the gateway to the world: this is where requests for data for a complex web app and resources for a website go in and out.

Blog 7/16/21

Building A Shell Application for Micro Frontends | Part 4

We already have a design system, several micro frontends consuming this design system, and now we need a shell application that imports micro frontends and displays them.

Headerbild zu Data Governance Consulting
Service

Data Governance

Data Governance describes all processes that aim to ensure the traceability, quality and protection of data. The need for documentation and traceability increases exponentially as more and more data from different sources is used for decision-making and as a result of the technical possibilities of integration in Data Warehouses or Data Lakes.

Mit Google Cloud passende Lösungen finden
Service

Cloud Development

Finding a standardized solution for complex challenges is unfortunately a rarity. Our experts analyze your problem and present customized solutions.

Headerbild Talend Data Integration
Technologie

Talend Data Integration

Talend Data Integration offers a highly scalable architecture for almost any application and any data source - with well over 900 connectors from cloud solutions like Salesforce to classic on-premises systems.

Felss Logo
Referenz

Quality scoring with predictive analytics models

Felss Systems GmbH relies on a specially developed predictive analytics method from X-INTEGRATE. With predictive scoring and automation, the efficiency of industrial machinery is significantly increased.

Blog 8/7/20

Understanding F# Type Aliases

In this post, we discuss the difference between F# types and aliases that from a glance may appear to be the same thing.

Blog 12/7/22

State of Fast Feedback in Data Science Projects

DSML projects can be quite different from the software projects: a lot of R&D in a rapidly evolving landscape, working with data, distributions and probabilities instead of code. However, there is one thing in common: iterative development process matters a lot.

Referenz

The Path to Greater Transparency in IT with Jira Software

More transparency in IT and with outside service providers - this was the challenge facing a financial services provider with around 17,000 consultants in use. Together with catworkx, Jira Software...

Referenz

Implementation of an application lifecycle management

The EOS Group managed its requirements management in a database for a long time. With Jira and catworkx, implementation requirements were transferred and application lifecycle management optimized.

Blog 4/28/23

Creating a Social Media Posts Generator Website with ChatGPT

Using the GPT-3-turbo and DALL-E models in Node.js to create a social post generator for a fictional product can be really helpful. The author uses ChatGPT to create an API that utilizes the openai library for Node.js., a Vue component with an input for the title and message of the post. This article provides step-by-step instructions for setting up the project and includes links to the code repository.

Blog 7/14/21

Building and Publishing Design Systems | Part 2

Learn how to build and publish design systems effectively. Discover best practices for creating reusable components and enhancing UI consistency.

Bleiben Sie mit dem TIMETOACT GROUP Newsletter auf dem Laufenden!