使用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处理JSON时的值报错及编码报错的两则解决实录
Jun 26 Python
用pickle存储Python的原生对象方法
Apr 28 Python
Python之自动获取公网IP的实例讲解
Oct 01 Python
Python+matplotlib绘制不同大小和颜色散点图实例
Jan 19 Python
python中字符串的操作方法大全
Jun 03 Python
Python实现字符型图片验证码识别完整过程详解
May 10 Python
Python中字符串List按照长度排序
Jul 01 Python
python使用socket 先读取长度,在读取报文内容示例
Sep 26 Python
使用tensorflow实现矩阵分解方式
Feb 07 Python
jupyter 导入csv文件方式
Apr 21 Python
python OpenCV学习笔记
Mar 31 Python
Python socket如何解析HTTP请求内容
Feb 12 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
天使彦史上最神还原,性别曝光的那一刻,百万网友恋爱了
2020/03/02 国漫
php判断一个数组是否为有序的方法
2015/03/27 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
2016/01/11 PHP
php安装ssh2扩展的方法【Linux平台】
2016/07/20 PHP
jQuery性能优化的38个建议
2014/03/04 Javascript
如何书写高质量jQuery代码(使用jquery性能问题)
2014/06/30 Javascript
jQuery中$this和$(this)的区别介绍(一看就懂)
2015/07/06 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
2015/08/25 Javascript
jQuery实现获取table中鼠标click点击位置行号与列号的方法
2017/10/09 jQuery
浅谈js的解析顺序 作用域 严格模式
2017/10/23 Javascript
JS获取数组中出现次数最多及第二多元素的方法
2017/10/27 Javascript
nodejs aes 加解密实例
2018/10/10 NodeJs
Vue数据双向绑定原理实例解析
2020/05/15 Javascript
基于小程序请求接口wx.request封装的类axios请求
2020/07/02 Javascript
vue中activated的用法
2021/01/03 Vue.js
Python xlwt设置excel单元格字体及格式
2020/04/18 Python
python 类对象和实例对象动态添加方法(分享)
2017/12/31 Python
python利用socketserver实现并发套接字功能
2018/01/26 Python
几种实用的pythonic语法实例代码
2018/02/24 Python
python 3.7.0 下pillow安装方法
2018/08/27 Python
Python使用pandas对数据进行差分运算的方法
2018/12/22 Python
python os.path.isfile 的使用误区详解
2019/11/29 Python
Pytorch实现的手写数字mnist识别功能完整示例
2019/12/13 Python
使用Matplotlib 绘制精美的数学图形例子
2019/12/13 Python
python GUI库图形界面开发之PyQt5打印控件QPrinter详细使用方法与实例
2020/02/28 Python
python3中编码获取网页的实例方法
2020/11/16 Python
Manjaro、pip、conda更换国内源的方法
2020/11/17 Python
python中实现栈的三种方法
2020/12/19 Python
使用canvas实现黑客帝国数字雨效果
2020/01/02 HTML / CSS
店长岗位的工作内容
2013/11/12 职场文书
会计专业自荐信
2013/12/02 职场文书
函授药学自我鉴定
2014/02/07 职场文书
大学运动会加油稿200字(5篇)
2014/09/27 职场文书
化妆品促销活动总结
2015/05/07 职场文书
《自己的花是让别人看的》教学反思
2016/02/19 职场文书
Android 中的类文件和类加载器详情
2022/06/05 Java/Android