使用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+django实现简单的文件上传
Aug 17 Python
Python实现树的先序、中序、后序排序算法示例
Jun 23 Python
Python生成8位随机字符串的方法分析
Dec 05 Python
python 编码规范整理
May 05 Python
详解Django+Uwsgi+Nginx的生产环境部署
Jun 25 Python
从0开始的Python学习014面向对象编程(推荐)
Apr 02 Python
python 怎样将dataframe中的字符串日期转化为日期的方法
Sep 26 Python
解决python多线程报错:AttributeError: Can't pickle local object问题
Apr 08 Python
Python中有几个关键字
Jun 04 Python
Python Http请求json解析库用法解析
Nov 28 Python
解决numpy和torch数据类型转化的问题
May 23 Python
python的netCDF4批量处理NC格式文件的操作方法
Mar 21 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正则
2006/07/07 PHP
php中支持多种编码的中文字符串截取函数!
2007/03/20 PHP
php htmlspecialchars加强版
2010/02/16 PHP
ajax取消挂起请求的处理方法
2013/03/18 PHP
PHP页面中文乱码分析
2013/10/29 PHP
php浏览历史记录的方法
2015/03/10 PHP
PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码
2016/03/25 PHP
javascript:void(0)的真正含义实例分析
2008/08/20 Javascript
40个新鲜出炉的jQuery 插件和免费教程[上]
2012/07/24 Javascript
jquery select 设置默认选中的示例代码
2014/02/07 Javascript
详解jQuery UI库中文本输入自动补全功能的用法
2016/04/23 Javascript
JavaScript实现页面跳转的方式汇总
2016/05/16 Javascript
总结javascript中的六种迭代器
2016/08/16 Javascript
基于jQuery和Bootstrap框架实现仿知乎前端动态列表效果
2016/11/09 Javascript
BootStrap栅格系统、表单样式与按钮样式源码解析
2017/01/20 Javascript
thinkjs之页面跳转同步异步操作
2017/02/05 Javascript
B/S(Web)实时通讯解决方案分享
2017/04/06 Javascript
node.js-v6新版安装具体步骤(分享)
2017/09/06 Javascript
vue router使用query和params传参的使用和区别
2017/11/13 Javascript
Vue进度条progressbar组件功能
2018/04/17 Javascript
js实现鼠标点击页面弹出自定义文字效果
2019/12/24 Javascript
[05:10]2014DOTA2国际邀请赛 通往胜利之匙赛场探秘之旅
2014/07/18 DOTA
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
2018/12/13 Python
用pycharm开发django项目示例代码
2019/06/13 Python
详解css3 Transition属性(平滑过渡菜单栏案例)
2017/09/05 HTML / CSS
世界上最大的高分辨率在线图片库:Alamy
2018/07/07 全球购物
波兰灯具、照明和LED购物网站:Lampy.pl
2019/03/11 全球购物
网络工程专业毕业生推荐信
2013/10/28 职场文书
酒店营销策划方案
2014/02/07 职场文书
行政主管职责范本
2014/03/07 职场文书
地球一小时倡议书
2014/04/15 职场文书
公司大门门卫岗位职责
2014/06/11 职场文书
电子商务专业毕业生自荐书
2014/06/22 职场文书
铁路安全反思材料
2014/12/24 职场文书
高中生毕业评语
2014/12/30 职场文书
Python pandas之求和运算和非空值个数统计
2021/08/07 Python