利用Python连接MySQL将表单转化为DataFrame

利用Python连接MySQL将表单转化为DataFrame

表中数据来自于《统计学习方法》第二版P71页

1. 创建loan_application表单

CREATE TABLE loan_application(
	ID int NOT NULL AUTO_INCREMENT,
	Age char(2) NOT NULL,
	job_state char(1) NOT NULL,
	house_state char(1) NOT NULL,
	credit_state varchar(4) NOT NULL,
	category char(1) NOT NULL,
	PRIMARY KEY (ID)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

2. 插入多条数据

 INSERT INTO loan_application
    (Age,job_state,house_state,credit_state,category)
    VALUES
    ("青年","否","否","一般","否"),
    ("青年","否","否","好","否"),
    ("青年","是","否","好","是"),
    ("青年","是","是","一般","是"),
    ("青年","否","否","一般","否"),
    ("中年","否","否","一般","否"),
    ("中年","否","否","好","否"),
    ("中年","是","是","好","是"),
    ("中年","否","是","非常好","是"),
    ("中年","否","是","非常好","是"),
    ("老年","否","是","非常好","是"),
    ("老年","否","是","好","是"),
    ("老年","是","否","好","是"),
    ("老年","是","否","非常好","是"),
    ("老年","否","否","一般","否");

3. 查看表

select * from loan_application;

结果

+----+--------+-----------+-------------+--------------+----------+
| ID | Age    | job_state | house_state | credit_state | category |
+----+--------+-----------+-------------+--------------+----------+
|  1 | 青年   ||| 一般         ||
|  2 | 青年   |||||
|  3 | 青年   |||||
|  4 | 青年   ||| 一般         ||
|  5 | 青年   ||| 一般         ||
|  6 | 中年   ||| 一般         ||
|  7 | 中年   |||||
|  8 | 中年   |||||
|  9 | 中年   ||| 非常好       ||
| 10 | 中年   ||| 非常好       ||
| 11 | 老年   ||| 非常好       ||
| 12 | 老年   |||||
| 13 | 老年   |||||
| 14 | 老年   ||| 非常好       ||
| 15 | 老年   ||| 一般         ||
+----+--------+-----------+-------------+--------------+----------+
15 rows in set (0.00 sec)

4. 连接数据转化DataFrame

# 导包
import pandas as pd
import numpy as np
import pymysql
from sqlalchemy import create_engine

# 数据库类型+数据库驱动名称://用户名:口令@机器地址:端口号/数据库名
engine = create_engine('mysql+pymysql://root:*******@127.0.0.1:3306/mydatabase?charset=utf8')
df = pd.read_sql('select * from loan_application',engine) # 从数据库中导入数据表

******处应该输入自己设置的密码

表格预览:

pd.read_sql()用法

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 要将多维列表转换为DataFrame,可以使用Pandas库中的DataFrame函数。以下是将一个名为data的二维列表转换为DataFrame的示例代码: ```python import pandas as pd data = [['Alice', 25, 'F'], ['Bob', 30, 'M'], ['Charlie', 35, 'M']] df = pd.DataFrame(data, columns=['Name', 'Age', 'Gender']) print(df) ``` 输出: ``` Name Age Gender 0 Alice 25 F 1 Bob 30 M 2 Charlie 35 M ``` 在上面的示例中,我们首先导入了Pandas库,并定义了一个名为data的二维列表。然后,我们使用DataFrame函数将其转换为DataFrame,并指定列名。最后,我们打印输出了DataFrame。 ### 回答2: 使用Python中的pandas库可以将多维列表转化DataFramepandas是一个处理和分析数据的功能强大的库,可以将数据转化为表格形式,并提供了各种操作和分析工具。 要将多维列表转化DataFrame,首先需要导入pandas库。然后,可以使用pandasDataFrame函数,将多维列表传入该函数的参数中,得到一个DataFrame对象。 示例代码如下: ``` import pandas as pd # 原始多维列表 data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # 通过pandasDataFrame函数将多维列表转化DataFrame df = pd.DataFrame(data) print(df) ``` 输出结果为: ``` 0 1 2 0 1 2 3 1 4 5 6 2 7 8 9 ``` 以上代码将一个包含三个子列表的多维列表转化为了一个3行3列的DataFrame对象。DataFrame的每一列对应一个子列表中的元素,每一行对应整个多维列表中的一个子列表。 需要注意的是,如果多维列表的每个子列表长度不一致,转化DataFrame时会将缺失的值填充为NaN。同时,可以通过DataFrame的参数设置列名、行索引等属性,以满足具体需求。 ### 回答3: 在Python中,可以使用pandas库将多维列表转化DataFrame。要实现这个转换,可以按照以下步骤进行操作: 1. 首先,导入pandas库: ```python import pandas as pd ``` 2. 创建一个多维列表,例如: ```python list_2d = [["Alice", 25, "Student"], ["Bob", 30, "Engineer"], ["Charlie", 35, "Doctor"]] ``` 3. 使用pandasDataFrame函数将多维列表转化DataFrame对象: ```python df = pd.DataFrame(list_2d) ``` 4. 默认情况下,DataFrame的列将自动从0开始进行索引,并且没有列名。为了给DataFrame添加列名,可以使用columns参数: ```python df = pd.DataFrame(list_2d, columns=["Name", "Age", "Occupation"]) ``` 5. 如果希望将列表的某些元素作为行索引,可以使用index参数来指定: ```python df = pd.DataFrame(list_2d, columns=["Name", "Age", "Occupation"], index=["A", "B", "C"]) ``` 这样,我们就成功将多维列表转化DataFrame对象。通过DataFrame的操作,我们可以方便地进行数据分析和处理。需要注意的是,pandas库对于处理大型数据集非常高效,并且还提供了许多强大的功能来操作和处理DataFrame

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DeeGLMath

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值