使用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使用7z解压软件备份文件脚本分享
Feb 21 Python
Python之PyUnit单元测试实例
Oct 11 Python
Python入门篇之面向对象
Oct 20 Python
Tensorflow之构建自己的图片数据集TFrecords的方法
Feb 07 Python
python生成1行四列全2矩阵的方法
Aug 04 Python
Python 给某个文件名添加时间戳的方法
Oct 16 Python
Python实现的读取文件内容并写入其他文件操作示例
Apr 09 Python
python实现扫描ip地址的小程序
Apr 16 Python
python 实现视频 图像帧提取
Dec 10 Python
Python实现桌面翻译工具【新手必学】
Feb 12 Python
基于opencv实现简单画板功能
Aug 02 Python
python 如何利用argparse解析命令行参数
Sep 11 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 高级课程笔记 面向对象
2009/06/21 PHP
PHP 源代码压缩小工具
2009/12/22 PHP
《PHP编程最快明白》第八讲:php启发和小结
2010/11/01 PHP
win2003服务器使用WPS的COM组件的一些问题解决方法
2012/01/11 PHP
一个显示某段时间内每个月的方法 返回由这些月份组成的数组
2012/05/16 PHP
PHP下载生成的csv文件及问题总结
2015/08/06 PHP
php指定长度分割字符串str_split函数用法示例
2017/01/30 PHP
一份老外写的XMLHttpRequest代码多浏览器支持兼容性
2007/01/11 Javascript
(转载)JavaScript中匿名函数,函数直接量和闭包
2007/05/08 Javascript
JS与C#编码解码
2013/12/03 Javascript
jQuery插件slicebox实现3D动画图片轮播切换特效
2015/04/12 Javascript
jquery超简单实现手风琴效果的方法
2015/06/05 Javascript
JS表格组件神器bootstrap table详解(基础版)
2015/12/08 Javascript
JavaScript实现in-place思想的快速排序方法
2016/08/07 Javascript
Javascript中字符串replace方法的第二个参数探究
2016/12/05 Javascript
bootstrap vue.js实现tab效果
2017/02/07 Javascript
javascript设计模式之策略模式学习笔记
2017/02/15 Javascript
Vuejs入门教程之Vue生命周期,数据,手动挂载,指令,过滤器
2017/04/19 Javascript
详解vue 模拟后台数据(加载本地json文件)调试
2017/08/25 Javascript
three.js中3D视野的缩放实现代码
2017/11/16 Javascript
原生JS实现随机点名项目的实例代码
2019/04/30 Javascript
如何解决js函数防抖、节流出现的问题
2019/06/17 Javascript
python中stdout输出不缓存的设置方法
2014/05/29 Python
Python获取单个程序CPU使用情况趋势图
2015/03/10 Python
python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法
2015/05/15 Python
Python文件去除注释的方法
2015/05/25 Python
Python新手学习装饰器
2020/06/04 Python
详解Java中一维、二维数组在内存中的结构
2021/02/11 Python
Alba Moda瑞士网上商店:独家意大利时尚女装销售
2016/11/28 全球购物
李维斯牛仔裤英国官方网站:Levi’s英国
2019/10/10 全球购物
Theflamel意大利:女士奢华服装、鞋子和配件
2020/01/11 全球购物
利用指针变量实现队列的入队操作
2012/04/07 面试题
大学生创业感言
2014/01/25 职场文书
护理专业自我鉴定
2014/01/30 职场文书
委托书英文
2015/01/28 职场文书
幼儿教师辞职信
2015/02/27 职场文书