使用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基础教程之元组操作使用详解
Mar 25 Python
python调用短信猫控件实现发短信功能实例
Jul 04 Python
Python 对象中的数据类型
May 13 Python
Python实现Linux中的du命令
Jun 12 Python
python opencv实现切变换 不裁减图片
Jul 26 Python
Python英文文本分词(无空格)模块wordninja的使用实例
Feb 20 Python
Django中信号signals的简单使用方法
Jul 04 Python
pytorch 实现删除tensor中的指定行列
Jan 13 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
Jan 16 Python
浅谈python量化 双均线策略(金叉死叉)
Jun 03 Python
如何使用Python进行PDF图片识别OCR
Jan 22 Python
详解Python调用系统命令的六种方法
Jan 28 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/10/09 PHP
Codeigniter实现智能裁剪图片的方法
2014/06/12 PHP
php实现计数器方法小结
2015/01/05 PHP
php遍历CSV类实例
2015/04/14 PHP
PHP二维数组去重实例分析
2016/11/18 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
js 获取时间间隔实现代码
2014/05/12 Javascript
封装了jQuery的Ajax请求全局配置
2015/02/05 Javascript
jQuery插件zepto.js简单实现tab切换
2015/06/16 Javascript
JavaScript与HTML的结合方法详解
2015/11/23 Javascript
浅析上传头像示例及其注意事项
2016/12/14 Javascript
JavaScript 中的 this 简单规则
2017/09/19 Javascript
JS实现的按钮点击颜色切换功能示例
2017/10/19 Javascript
webpack 打包压缩js和css的方法示例
2018/03/20 Javascript
详解JavaScript中的函数、对象
2019/04/01 Javascript
详解Vue底部导航栏组件
2019/05/02 Javascript
vue搜索和vue模糊搜索代码实例
2019/05/07 Javascript
解决Vue中 父子传值 数据丢失问题
2019/08/27 Javascript
vue中v-model对select的绑定操作
2020/08/31 Javascript
微信小程序组件生命周期的踩坑记录
2021/03/03 Javascript
[00:35]DOTA2上海特级锦标赛 Newbee战队宣传片
2016/03/03 DOTA
[00:44]2016完美“圣”典 风云人物:Mikasa宣传片
2016/12/07 DOTA
[02:28]DOTA2 2017国际邀请赛小组赛回顾
2017/08/09 DOTA
[54:43]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第一场 2月22日
2021/03/11 DOTA
python获取当前日期和时间的方法
2015/04/30 Python
按日期打印Python的Tornado框架中的日志的方法
2015/05/02 Python
python批量提取word内信息
2015/08/09 Python
Windows下python2.7.8安装图文教程
2016/05/26 Python
python贪婪匹配以及多行匹配的实例讲解
2018/04/19 Python
python实现飞机大战微信小游戏
2020/03/21 Python
python删除某个目录文件夹的方法
2020/05/26 Python
社团文化节策划书
2014/02/01 职场文书
淘宝好评语句大全
2014/12/31 职场文书
情人节活动总结范文
2015/02/05 职场文书
人事部:年度述职报告范文
2019/07/12 职场文书
深入解析NumPy中的Broadcasting广播机制
2021/05/30 Python