使用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使用chardet判断字符串编码的方法
Mar 13 Python
python中日期和时间格式化输出的方法小结
Mar 19 Python
利用Python抓取行政区划码的方法
Nov 28 Python
python实现将读入的多维list转为一维list的方法
Jun 28 Python
浅析Python四种数据类型
Sep 26 Python
使用Python 正则匹配两个特定字符之间的字符方法
Dec 24 Python
python代码 FTP备份交换机配置脚本实例解析
Aug 01 Python
Pandas-Cookbook 时间戳处理方式
Dec 07 Python
如何利用pygame实现简单的五子棋游戏
Dec 29 Python
Python 在 VSCode 中使用 IPython Kernel 的方法详解
Sep 05 Python
Django mysqlclient安装和使用详解
Sep 17 Python
如何利用Python 进行边缘检测
Oct 14 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
杏林同学录(三)
2006/10/09 PHP
SSI指令
2006/11/25 PHP
PHP小技巧搜集,每个PHPer都来露一手
2007/01/02 PHP
php中拷贝构造函数、赋值运算符重载
2012/07/25 PHP
php5.3 goto函数介绍和示例
2014/03/21 PHP
采用ThinkPHP中F方法实现快速缓存实例
2014/06/13 PHP
PHP利用hash冲突漏洞进行DDoS攻击的方法分析
2015/03/26 PHP
Yii2简单实现多语言配置的方法
2016/07/23 PHP
2020最新版 PhpStudy V8.1版本下载安装使用详解
2020/10/30 PHP
为javascript添加String.Format方法
2020/08/11 Javascript
Jquery index()方法 获取相应元素索引值
2012/10/12 Javascript
JS实现字符串转日期并比较大小实例分析
2015/12/09 Javascript
BootStrap智能表单实战系列(十一)级联下拉的支持
2016/06/13 Javascript
JavaScript三种绑定事件方式及相互之间的区别分析
2017/01/10 Javascript
详解在Angular项目中添加插件ng-bootstrap
2017/07/04 Javascript
JS如何实现在页面上快速定位(锚点跳转问题)
2017/08/14 Javascript
微信小程序实现banner图轮播效果
2020/06/28 Javascript
bootstrap Table实现合并相同行
2019/07/19 Javascript
vue radio单选框,获取当前项(每一项)的value值操作
2020/09/10 Javascript
vue 插槽简介及使用示例
2020/11/19 Vue.js
[26:40]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第一局
2016/02/25 DOTA
python批量下载图片的三种方法
2013/04/22 Python
Python中使用PIPE操作Linux管道
2015/02/04 Python
以911新闻为例演示Python实现数据可视化的教程
2015/04/23 Python
深入理解Django中内置的用户认证
2017/10/06 Python
使用Python操作excel文件的实例代码
2017/10/15 Python
Python django使用多进程连接mysql错误的解决方法
2018/10/08 Python
Python3操作MongoDB增册改查等方法详解
2020/02/10 Python
如何使用python socket模块实现简单的文件下载
2020/09/04 Python
python向企业微信发送文字和图片消息的示例
2020/09/28 Python
解决使用Pandas 读取超过65536行的Excel文件问题
2020/11/10 Python
No module named ‘win32gui‘ 的解决方法(踩坑之旅)
2021/02/18 Python
世界红十字日活动总结
2015/02/10 职场文书
关于上班时间调整的通知
2015/04/23 职场文书
唱歌比赛拉拉队口号
2015/12/25 职场文书
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
2022/06/01 Servers