使用Pandas进行数据库工作
对保存在SQL中的数据进行各种操作可能会导致执行非常复杂的查询,而这些查询并不容易编写。因此,为了使这项任务更容易完成,使用pandas来完成这项工作往往是有用的,因为pandas是专门为数据预处理而建立的,比SQL更简单和友好。
可能会有这样的情况,有时数据存储在SQL中,我们想用python从SQL中获取这些数据,然后用pandas进行操作。因此,让我们看看如何使用pandas与SQL数据库进行交互。
这就是我们要使用的数据库
diabetes_data
注意:假设我们的数据存储在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()
输出
基本操作
- 划分行数
我们可以进行切片操作,从一个给定的范围内获得所需的行数。
在切片的帮助下,我们可以只对数据的特定子集执行各种操作
“`python # 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</li>
</ul><pre><code class=""><br />**输出**
![使用Pandas进行数据库工作](https://static.deepinout.com/geekdocs/2022/10/20221006095830-2.png "使用Pandas进行数据库工作")****
* **选择特定列**
选择一个特定的列或从数据框架中选择一些列以进一步处理数据。
“`python # 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
输出:
- 总结数据
为了从数据中获得洞察力,我们必须有一个数据的统计摘要。为了显示数据的统计摘要,如平均数、中位数、模式、std等。我们执行以下操作
“`python # read the data from sql
# to pandas dataframe.
data = pd.read_sql_query('Select * from Diabetes;', con)
# summarize the data
data.describe()</li>
</ul><pre><code class=""><br />**输出:**
![使用Pandas进行数据库工作](https://static.deepinout.com/geekdocs/2022/10/20221006095830-4.png "使用Pandas进行数据库工作")****
* **对某一列数据进行排序**
用于根据给定的列值对数据框架进行排序
“`python # 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()
输出:
- 显示每一列的平均数
显示数据框架中每一列的平均数。
python # 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()
输出:
- 显示每一列的平均数
- 总结数据