Pandas_数据库交互_删除缺失值_补全缺失值_删除重复值

数据库交互

1.使用流行的Python的SQL工具包SQLAlchemy,它能简化你的数据库操作。
2.同时,pandas提供了一个read_sql函数,允许你从通用的SQLAlchemy连接中轻松地读取数据
3.在Anaconda中,已经默认安装了SQLAlchemy,可以直接使用

import sqlalchemy as sqla 
import pandas as pd
db = sqla.create_engine('mysql+pymysql://yyuser:yy123456@106.75.52.178:3307/ares_sso?charset=utf8mb4') 
# 创建连接
# mysql+pymysql:// 账户:密码 @ 链接地址:及端口 / 链接的数据库名称 ? charset=utf8mb4 字符集
pd.read_sql('select * from channel', db) # 查询数据并转换为pandas对象
engine = create_engine('mysql+mysqlconnector://root:123456@localhost:3306/test')

我使用了mysql数据库,数据库连接框架用的是mysqlconnector,用户名为root,密码是123456,端口号是localhost(127.0.0.1),端口号是3306(mysql服务器默认端口号),test是数据库的名字。

删除缺失值

pandas中

  • dropna:删除缺失值
  • fillna: 用某些值填充缺失的数据或使用插值方法(比如ffill\bfill)
  • isnull:判断哪些值是缺失值,返回布尔
  • notnull:isnull的反函数

例:s.dropna() 删除缺失值

DataFrame中
在处理DataFrame对象的缺失值的时候,可能会复杂点。无法删除df的单个元素,只能整行整列的删除

df.dropna() #删除有空值的行 (只要行中有一个空值就删全行)
df.dropna(how='all') #删除一整行全是空值的
df.dropna(axis=1) #删除有空值的列 (只要列中有一个空值就删全列)
df.dropna(axis=1, how='all') #删除一整列全是空值的
df.fillna(method='bfill'/'ffill',limit=2 ) 用某些值填充缺失的数据或使用插值方法
#bfill向后填充 ffill向前填充 limit=限制填充次数

补全缺失值

DataFrame中
df.fillna(method='bfill'/'ffill',limit=2 ) 用某些值填充缺失的数据或使用插值方法
#bfill向后填充 ffill向前填充 limit=限制填充次数 (与缺失值中的笔记相同)

删除重复值

DataFrame中
1.使用duplicated方法判断各行是否有重复,并返回一个布尔值Series。
2.然后使用drop_duplicates方法将重复行删除,留下那些不重复的。
例:df.drop_duplicates(['k1'])
#删除df中k1列的重复值 不写默认删除 整行重复值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值