Python数据分析学习笔记-pandas库学习6

本文介绍了Pandas库中的数据合并操作,包括内连接、左连接、右连接和外连接,并通过示例展示了如何使用`merge`函数实现。同时,讲解了数据的纵向和横向合并,利用`concat`函数实现。此外,还探讨了数据清洗中的异常值处理,如检查缺失值并计算基础统计量。
摘要由CSDN通过智能技术生成

联表合并:merge

内连接

import pandas as pd
import numpy as np
dff1=pd.DataFrame({'stu_no':['01','02','01','03','02','04','03','04'],
                  'score':np.random.randint(60,100,size=8)})
dff2=pd.DataFrame({'stu_no':['01','02','03','05'],
                  'name':['Brett','Eddy','Kris','Jorden']})
dfm=pd.merge(dff1,dff2, on='stu_no') #功能与sql,inner join一致,左右表均存在的数据进行匹配
print(dff1,'\n',dff2,'\n',dfm)

这里是引用

左连接

dfm=pd.merge(dff1,dff2, on='stu_no',how='left') #功能与sql,left join一致
print(dfm)

这里是引用

右连接

dfm=pd.merge(dff1,dff2, on='stu_no',how='right') #功能与sql,right join一致
print(dfm)

这里是引用

外连接

dfm=pd.merge(dff1,dff2, on='stu_no',how='outer') #功能与sql,outer join一致
print(dfm)

这里是引用

表数据合并:concat

默认纵向合并

dff3=pd.DataFrame(np.arange(1,5).reshape(2,-1))
dff4=pd.DataFrame(np.zeros((2,2)))
dfc=pd.concat([dff3,dff4])
print(dff3,'\n',dff4,'\n',dfc)

这里是引用

横向合并

dfc=pd.concat([dff3,dff4],axis=1) #AXIS=1 x轴合并,不加默认y轴合并
print(dfc)

这里是引用

异常值

观察表

data=[[1,None],
      [2,1],
      [None,3],
      [None,None]]
dff5=pd.DataFrame(data,columns=['a','b'])
#在数据清洗前取出部分数据判断数据格式、是否有值等情况;info、describe查询数据情况
print(dff5.tail(3)) #tail取出倒数3条数据
print(dff5.info())
print(dff5.describe())

在这里插入图片描述
info中会显示出每列的类型,可以此判断是否是正常值
std标准差
在这里插入图片描述

基础运算

print(dff5.count(),'\n',dff5.mean(),'\n',dff5.sum(),'\n',dff5.sum(axis=1),'\n',dff5.a.sum()) #axis=1横向相加

在这里插入图片描述

print(dff5.std(),'\n',dff5.var())  #var方差

这里是引用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值