使用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中尝试多线程编程的一个简明例子
Apr 07 Python
将Emacs打造成强大的Python代码编辑工具
Nov 20 Python
Python 快速实现CLI 应用程序的脚手架
Dec 05 Python
Python爬虫实例_利用百度地图API批量获取城市所有的POI点
Jan 10 Python
python3.7 的新特性详解
Jul 25 Python
给你一面国旗 教你用python画中国国旗
Sep 24 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
Oct 24 Python
使用django和vue进行数据交互的方法步骤
Nov 11 Python
python设置环境变量的作用整理
Feb 17 Python
部署Django到阿里云服务器教程示例
Jun 03 Python
使用python向MongoDB插入时间字段的操作
May 18 Python
教你如何使用Python实现二叉树结构及三种遍历
Jun 18 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
PHP开发中常用的三个表单验证函数使用小结
2010/03/03 PHP
JpGraph php柱状图使用介绍
2011/08/23 PHP
PHP file_get_contents设置超时处理方法
2013/09/30 PHP
PHP不用递归实现无限分级的例子分享
2014/04/18 PHP
PHP判断一个gif图片是否为动态图片的方法
2014/11/19 PHP
CI框架的安全性分析
2016/05/18 PHP
Prototype使用指南之base.js
2007/01/10 Javascript
同一页面多个商品倒计时JS 基于面向对象的javascript
2012/02/16 Javascript
JavaScript省市联动实现代码
2014/02/15 Javascript
基于javascript显示当前时间以及倒计时功能
2016/03/18 Javascript
设计模式中的facade外观模式在JavaScript开发中的运用
2016/05/18 Javascript
Ionic如何创建APP项目
2016/06/03 Javascript
Javascript操作表单实例讲解(下)
2016/06/20 Javascript
vue.js 1.x与2.0中js实时监听input值的变化
2017/03/15 Javascript
10个最优秀的Node.js MVC框架
2017/08/24 Javascript
jqgrid实现简单的单行编辑功能
2017/09/30 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
2018/09/17 Javascript
AngularJS 监听变量变化的实现方法
2018/10/09 Javascript
js的对象与函数详解
2019/01/21 Javascript
解决微信小程序中的滚动穿透问题
2019/09/16 Javascript
详解element-ui动态限定的日期范围选择器代码片段
2020/07/03 Javascript
ES5和ES6中类的区别总结
2020/12/21 Javascript
vue+vant 上传图片需要注意的地方
2021/01/03 Vue.js
Python中unittest用法实例
2014/09/25 Python
Python创建对称矩阵的方法示例【基于numpy模块】
2017/10/12 Python
python3实现跳一跳点击跳跃
2018/01/08 Python
Python元字符的用法实例解析
2018/01/17 Python
Python代码打开本地.mp4格式文件的方法
2019/01/03 Python
Python-Flask:动态创建表的示例详解
2019/11/22 Python
用CSS3来实现社交分享按钮
2014/11/11 HTML / CSS
波兰电子产品购物网站:Vobis
2019/05/26 全球购物
计算机求职信
2013/12/01 职场文书
文明学生标兵事迹
2014/01/21 职场文书
社区活动邀请函范文
2014/01/29 职场文书
2016年圣诞节义工活动总结
2016/04/01 职场文书
Python中os模块的简单使用及重命名操作
2021/04/17 Python