📜  使用 Pandas 处理数据库

📅  最后修改于: 2022-05-13 01:55:09.622000             🧑  作者: Mango

使用 Pandas 处理数据库

对保存在 SQL 中的数据执行各种操作可能会导致执行非常复杂且不易编写的查询。因此,为了使这项任务更容易,使用专门为数据预处理构建并且比 SQL 更简单和用户友好的 pandas 来完成这项工作通常很有用。

在某些情况下,有时数据存储在 SQL 中,我们想在Python中从 SQL 中获取该数据,然后使用 pandas 执行操作。那么让我们看看如何使用 pandas 与 SQL 数据库进行交互。

这是我们要使用的数据库
糖尿病数据

注意:假设我们的数据存储在 sqlite3

读取数据

# import the libraries
import sqlite3
import pandas as pd
  
# create a connection
con = sqlite3.connect('Diabetes.db')
  
# read data from SQL to pandas dataframe.
data = pd.read_sql_query('Select * from Diabetes;', con)
  
# show top 5 rows
data.head()

输出

熊猫数据库

基本操作

  • 切片行

  • 我们可以执行切片操作以从给定范围内获取所需的行数。
    借助切片,我们可以只对数据的特定子集执行各种操作
    # read the data from sql to pandas dataframe.
    data = pd.read_sql_query('Select * from Diabetes;', con)
      
    # slicing the number of rows 
    df1 = data[10:15]
    df1
    

    输出
    熊猫数据库

  • 选择特定列
    选择特定列或从数据框中选择列数以进一步处理数据。
    # read the data from sql to
    # pandas dataframe.
    data = pd.read_sql_query('Select * from Diabetes;', con)
      
    # selecting specific columns.
    df2 = data.loc[:, ['Glucose', 'BloodPressure']].head()
    df2
    

    输出:
    熊猫数据库

  • 总结数据
    为了从数据中获得洞察力,我们必须对数据进行统计汇总。要显示数据的统计摘要,例如平均值、中位数、众数、标准差等。我们执行以下操作
    # read the data from sql 
    # to pandas dataframe.
    data = pd.read_sql_query('Select * from Diabetes;', con)
      
    # summarize the data
    data.describe()
    

    输出:
    熊猫数据库

  • 根据列对数据进行排序
    用于根据给定列值对数据框进行排序
    # read the data from sql 
    # to pandas dataframe.
    data = pd.read_sql_query('Select * from Diabetes;', con)
      
    # sort data with respect 
    # to particular column.
    data.sort_values(by ='Age').head()
    

    输出:
    熊猫数据库

  • 显示每列的平均值
    显示数据框每一列的平均值。
    # read the data from sql 
    # to pandas dataframe.
    data = pd.read_sql_query('Select * from Diabetes;', con)
      
    # count number of rows and columns
    data.mean()
    

    输出:

    熊猫数据库