使用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库安装包下载地址与安装过程详细介绍(Windows版)
Nov 02 Python
Python3编程实现获取阿里云ECS实例及监控的方法
Aug 18 Python
python多进程提取处理大量文本的关键词方法
Jun 05 Python
无法使用pip命令安装python第三方库的原因及解决方法
Jun 12 Python
python实现从本地摄像头和网络摄像头截取图片功能
Jul 11 Python
python 求定积分和不定积分示例
Nov 20 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
Jan 08 Python
Python tkinter模版代码实例
Feb 05 Python
简单了解Python write writelines区别
Feb 27 Python
python regex库实例用法总结
Jan 03 Python
Python利器openpyxl之操作excel表格
Apr 17 Python
请求模块urllib之PYTHON爬虫的基本使用
Apr 08 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
MySQL连接数超过限制的解决方法
2011/07/17 PHP
逆序二维数组插入一元素的php代码
2012/06/08 PHP
php配合jquery实现增删操作具体实例
2013/12/12 PHP
php生成二维码
2015/08/10 PHP
优化WordPress的Google字体以加速国内服务器上的运行
2015/11/24 PHP
php短信接口代码
2016/05/13 PHP
php投票系统之增加与删除投票(管理员篇)
2016/07/01 PHP
PHP redis实现超迷你全文检索
2017/03/04 PHP
laravel实现前后台路由分离的方法
2019/10/13 PHP
xheditor与validate插件冲突的解决方案
2010/04/15 Javascript
不使用中间变量,交换int型的 a, b两个变量的值。
2010/10/29 Javascript
jquery的trigger和triggerHandler的区别示例介绍
2014/04/20 Javascript
javascript时间排序算法实现活动秒杀倒计时效果
2021/01/28 Javascript
JS+CSS3模拟溢出滚动效果
2016/08/12 Javascript
微信小程序  action-sheet详解及实例代码
2016/11/09 Javascript
JavaScript实现简单的树形菜单效果
2017/06/23 Javascript
jQuery实现可兼容IE6的滚动监听功能
2017/09/20 jQuery
浅谈react 同构之样式直出
2017/11/07 Javascript
在vue项目中使用md5加密的方法
2018/09/14 Javascript
微信小程序外卖选购页实现切换分类与数量加减功能案例
2019/01/15 Javascript
mpvue微信小程序的接口请求fly全局拦截代码实例
2019/11/13 Javascript
小程序实现长按保存图片的方法
2019/12/31 Javascript
JS实现时间校验的代码
2020/05/25 Javascript
跟老齐学Python之不要红头文件(1)
2014/09/28 Python
基于Python __dict__与dir()的区别详解
2017/10/30 Python
Python实现嵌套列表及字典并按某一元素去重复功能示例
2017/11/30 Python
对python 生成拼接xml报文的示例详解
2018/12/28 Python
Python数据类型之Dict字典实例详解
2019/05/07 Python
Python关于反射的实例代码分享
2020/02/20 Python
html5 canvas合成海报所遇问题及解决方案总结
2017/08/03 HTML / CSS
什么是静态路由?什么是动态路由?各自的特点是什么?
2015/09/16 面试题
党支部意见范文
2015/06/02 职场文书
篮球比赛通讯稿
2015/07/18 职场文书
解除租赁合同协议书
2016/03/21 职场文书
React 并发功能体验(前端的并发模式)
2021/07/01 Javascript
Java SSM配置文件案例详解
2021/08/30 Java/Android