使用pandas对两个dataframe进行join的实例


Posted in Python onJune 08, 2018

需求:

两个文件,一个文件为统计报表,里面含有手机号,另一个文件为手机号段归属地,含有手机号码前七位对应的地区。需要对统计报表进行处理,将手机号所在的归属地加入到统计报表中,使用pandas提供的join功能来实现,代码如下:

#coding=utf-8
from pandas import Series,DataFrame
import pandas as pd
#reader1 = pd.read_csv('Dm_Mobile.txt',iterator=True,encoding="gb2312")
#df1 = reader1.get_chunk(10)
#reader2 = pd.read_csv('201604.csv',iterator=True,encoding="gb2312")
#df2 = reader.get_chunk(10)

#读取两个csv文件,生成dataframe
df1 = pd.read_csv('Dm_Mobile.csv',encoding="gb2312")
df2 = pd.read_csv('201604.csv',encoding="gb2312")

#截取手机号前七位,作为新列添加到dataframe
df2['p7s'] = Series([str(x)[:7] for x in Series(df2[u'手机号'])])
df2['p7i'] = df2['p7s'].astype("int64")

#在两个dataframe的手机前七位列上创建索引
index_df1 = df1.set_index('MobileNumber')
index_df2 = df2.set_index(['p7i'])

#以手机号前七位列为join列,对两个dataframe进行join
result = pd.concat([index_df1, index_df2], axis=1, join='inner')

#选取需要显示的列,重新生成result
result = result.reindex(columns=[u'积分商城订单号', u'手机号',u'产品编码',u'商品名称',u'商品价格',u'数量',u'虚拟码',u'消费时间',u'时间',u'兑换渠道商',u'MobileArea'])

#写入到excel文件中
writer = pd.ExcelWriter('pandas_simple.xlsx')
result.to_excel(writer, sheet_name=u'设计院',index=False)
writer.save()

以上这篇使用pandas对两个dataframe进行join的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python使用smtplib模块发送电子邮件的流程详解
Jun 27 Python
python Matplotlib画图之调整字体大小的示例
Nov 20 Python
使用python读取csv文件快速插入数据库的实例
Jun 21 Python
Django框架实现的分页demo示例
May 25 Python
将Pytorch模型从CPU转换成GPU的实现方法
Aug 19 Python
用Python画一个LinkinPark的logo代码实例
Sep 10 Python
pygame实现弹球游戏
Apr 14 Python
pyecharts调整图例与各板块的位置间距实例
May 16 Python
如何快速理解python的垃圾回收机制
Sep 01 Python
Python利用Pillow(PIL)库实现验证码图片的全过程
Oct 04 Python
Python Pandas读取Excel日期数据的异常处理方法
Feb 28 Python
Python自动操作神器PyAutoGUI的使用教程
Jun 16 Python
pandas带有重复索引操作方法
Jun 08 #Python
使用python爬取B站千万级数据
Jun 08 #Python
pandas表连接 索引上的合并方法
Jun 08 #Python
详谈Pandas中iloc和loc以及ix的区别
Jun 08 #Python
python实现人人自动回复、抢沙发功能
Jun 08 #Python
利用Python写一个爬妹子的爬虫
Jun 08 #Python
python os用法总结
Jun 08 #Python
You might like
Zend Guard一些常见问题解答
2008/09/11 PHP
PHP 类相关函数的使用详解
2013/05/10 PHP
PHP队列用法实例
2014/11/05 PHP
php中socket通信机制实例详解
2015/01/03 PHP
PHP实现的mysql主从数据库状态检测功能示例
2017/07/20 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
提升你网站水平的jQuery插件集合推荐
2011/04/19 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件
2011/12/21 Javascript
javascript获取URL参数与参数值的示例代码
2013/12/20 Javascript
JS加载器如何动态加载外部js文件
2016/05/26 Javascript
node.js入门教程之querystring模块的使用方法
2017/02/27 Javascript
原生js实现鼠标跟随效果
2017/02/28 Javascript
vue.js项目 el-input 组件 监听回车键实现搜索功能示例
2018/08/25 Javascript
微信小程序CSS3动画下拉菜单效果
2018/11/04 Javascript
Vue-Cli 3.0 中配置高德地图的两种方式
2019/06/19 Javascript
解决在Vue中使用axios用form表单出现的问题
2019/10/30 Javascript
nodemon实现Typescript项目热更新的示例代码
2019/11/19 Javascript
Vertx基于EventBus发送接受自定义对象
2020/11/16 Javascript
[01:46]TI4西雅图DOTA2前线报道 中国选手抱团调时差
2014/07/08 DOTA
python模块简介之有序字典(OrderedDict)
2016/12/01 Python
pandas数据处理基础之筛选指定行或者指定列的数据
2018/05/03 Python
python中多层嵌套列表的拆分方法
2018/07/02 Python
python实现基于信息增益的决策树归纳
2018/12/18 Python
postman传递当前时间戳实例详解
2019/09/14 Python
使用tensorboard可视化loss和acc的实例
2020/01/21 Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
2020/02/06 Python
Python操作word文档插入图片和表格的实例演示
2020/10/25 Python
Django Admin后台模型列表页面如何添加自定义操作按钮
2020/11/11 Python
萌新HTML5 入门指南(二)
2020/11/09 HTML / CSS
C#中的验证控件有几种
2014/03/08 面试题
司机的工作范围及职责
2013/11/13 职场文书
英语演讲稿3分钟
2014/04/29 职场文书
小学教师师德承诺书
2014/05/23 职场文书
县政府办公室领导班子对照检查材料思想汇报
2014/09/28 职场文书
2016年优秀共产党员先进事迹材料
2016/02/29 职场文书