使用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获取本机mac地址和ip地址的方法
Apr 29 Python
Python 中迭代器与生成器实例详解
Mar 29 Python
浅谈Python peewee 使用经验
Oct 20 Python
python使用xslt提取网页数据的方法
Feb 23 Python
Pandas 按索引合并数据集的方法
Nov 15 Python
详解Python logging调用Logger.info方法的处理过程
Feb 12 Python
Python使用__new__()方法为对象分配内存及返回对象的引用示例
Sep 20 Python
python计算无向图节点度的实例代码
Nov 22 Python
python脚本实现mp4中的音频提取并保存在原目录
Feb 27 Python
jupyter notebook 的工作空间设置操作
Apr 20 Python
Python虚拟环境的创建和包下载过程分析
Jun 19 Python
python 如何引入协程和原理分析
Nov 30 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
Laravel框架学习笔记(一)环境搭建
2014/10/15 PHP
PHP中Header使用的HTTP协议及常用方法小结
2014/11/04 PHP
PHP读取大文件末尾N行的高效方法推荐
2016/06/03 PHP
thinkPHP5.1框架使用SemanticUI实现分页功能示例
2019/08/03 PHP
Javascript 陷阱 window全局对象
2008/11/26 Javascript
document.compatMode介绍
2009/05/21 Javascript
javascript 解析后的xml对象的读取方法细解
2009/07/25 Javascript
倒记时60刷新网页的js代码
2014/02/18 Javascript
使用GruntJS构建Web程序之构建篇
2014/06/04 Javascript
js实现同一个页面多个渐变效果的方法
2015/04/10 Javascript
JS解析XML文件和XML字符串详解
2015/04/17 Javascript
jquery实现点击弹出带标题栏的弹出层(从右上角飞入)效果
2015/09/19 Javascript
快速掌握Node.js环境的安装与运行方法
2016/02/16 Javascript
基于BootStrap Metronic开发框架经验小结【四】Bootstrap图标的提取和利用
2016/05/12 Javascript
基于jQuery实现仿QQ空间送礼物功能代码
2016/05/24 Javascript
Ajax与服务器(JSON)通信实例代码
2016/11/05 Javascript
手把手搭建安装基于windows的Vue.js运行环境
2017/06/12 Javascript
nodejs express配置自签名https服务器的方法
2018/05/22 NodeJs
基于vue-cli3+typescript的tsx开发模板搭建过程分享
2020/02/28 Javascript
nodejs各种姿势断点调试的方法
2020/06/18 NodeJs
Python使用cx_Oracle调用Oracle存储过程的方法示例
2017/10/07 Python
Python基于property实现类的特性操作示例
2018/06/15 Python
基于Python实现签到脚本过程解析
2019/10/25 Python
pytorch加载自己的图像数据集实例
2020/07/07 Python
英国最红的高街时尚品牌:Topshop
2016/08/05 全球购物
Peter Millar官网:美国高档生活服饰品牌
2018/07/02 全球购物
Happy Socks英国官网:购买五颜六色的袜子
2020/11/03 全球购物
质检部职责
2013/12/28 职场文书
文秘大学生求职信
2014/02/25 职场文书
水毁工程实施方案
2014/04/01 职场文书
竞选大队长演讲稿
2014/04/29 职场文书
国旗下的演讲稿
2014/05/08 职场文书
pandas DataFrame.shift()函数的具体使用
2021/05/24 Python
Python下opencv库的安装过程及问题汇总
2021/06/11 Python
vue如何使用模拟的json数据查看效果
2022/03/31 Vue.js
Tomcat安装使用及部署Web项目的3种方法汇总
2022/08/14 Servers