使用pandas对两个dataframe进行join的实例
作者:lsq_008 发布时间:2022-02-06 11:09:36
标签:pandas,dataframe,join
需求:
两个文件,一个文件为统计报表,里面含有手机号,另一个文件为手机号段归属地,含有手机号码前七位对应的地区。需要对统计报表进行处理,将手机号所在的归属地加入到统计报表中,使用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()
来源:https://blog.csdn.net/lsq_008/article/details/51328720


猜你喜欢
- PySide是一个免费的软件,与PyQt不同之处在于使用了LGPL,允许PySide免费的开发商业软件。 PySide有15个模块。这些模块
- 从毕业实习算起,从事可用性方面的工作到现在已经5年了。在此记录笔者的一些所见所想,和大家讨论分享一下。用户研究在“以用户为中心”的界面设计方
- console 打印乱码1.File Encoding设置项目编码为GBK2.文件模板设定python脚本为# -*- coding: ut
- 目录一. pymysql介绍二. 连接数据库的完整流程1. 引入pymysql模块2. 创建连接对象3. 使用连接对象创建游标对象4. 准备
- 网上学习了的两个新方法,代码非常之简洁。看来,不是只要实现了基本功能就能交差滴,想要真的学好python还有很长的一段路呀方法一:是利用ma
- bootstrap里面有个激活按钮的时候,按钮变成不可用的;按照官网里面的方法介绍是在button按钮加个 data-loading-tex
- 需求:取文件1中的一行,和文件2中所有的数据进行比较,有相同的保存起来,否则删除。#!/usr/bin/perl#use strict;op
- 1.基本概念定义含义并发:concurrency,同一时刻只能有一条指令执行,但是多个线程的对应的指令被快速轮换地执行并行parallel,
- <?php $curDomain = $_SERVER['HTTP_HOST']; $strHTML = file_g
- 将套接字流重定向到标准输入或输出流#!/usr/bin/env python3"""测试socket-stre
- ALTER TABLE 表名字 ADD CONSTRAINT pk_表名字 PRIMARY KEY( SNumber, SDate ); S
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&
- 本文实例讲述了Python字符串内置函数功能与用法。分享给大家供大家参考,具体如下:字符串内置总结需要注意的是:字符串的单引号和双引号都无法
- 我就废话不多说了,还是直接看代码吧!# -*- coding: utf-8 -*-# @author flynetcnimport sys,
- Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件Postman背景介绍用户在开发或者调试网络程序或者是网页B/
- 方法一:巧用sum函数将list列表与一个空列表相加,就能把嵌套列表合并成一个a=[[1],[2],[3],[4],[5]]merge=su
- 本文实例讲述了Python中操作符重载用法。分享给大家供大家参考,具体如下:类可以重载python的操作符操作符重载使我们的对象与内置的一样
- 随机生成10位数密码,字母和数字组合import string>>> import random>>>
- 通过对Node的学习及应用,我们知道NodeJS其采用单线程、事件驱动、非阻塞I/O等架构设计,非常适用于高并发、I/O密集型应用。1. 什
- 本文实例为大家分享了Python实现五子棋游戏的具体代码,供大家参考,具体内容如下class CheckerBoard(): &