python笔记17:数据处理之字段匹配

# -*- coding: utf-8 -*-
#概念:字段匹配,根据各表共有的关键字段,把各表所需的记录一一对应起来

#应用场景:假如现在手上有两个表,第一个表存的是商品的基本信息,第二个表存的是商品的销售信息,两个表都有一个商品id字段,id相同就表示是同一个商品,那么,我们可以利用这个字段,将两个表进行合并

#字段匹配函数:merge(x,y,left_on,right_on)
#x:第一个数据框
#y:第二个数据框
#left_on:第一个数据框用于匹配的列(两个表共有的关键字段)
#right_on:第二个数据框用于匹配的列(两个表共有的关键字段)

#为了确保匹配结果的正确性,建议用于匹配的字段的类型要保持一致,比如要么都是数值型,要么都是字符型

#返回值:DataFrame

import pandas

items = pandas.read_csv("D:/python/workspace/pythonStudy/17_1.csv",sep="|",names=["id","comments","title"])

prices = pandas.read_csv("D:/python/workspace/pythonStudy/17_2.csv",sep="|",names=["id","oldPrice","nowPrice"])

#1. 默认只是保留连接上(匹配成功的)的部分:
itemPrices= pandas.merge(items,prices,left_on="id",right_on="id")

#2. 左连接:即使连接不上,也保留左边没连接上的部分.(右边的将会使用空值填充)
itemPrices = pandas.merge(items,prices,left_on="id",right_on="id",how="left")

#3. 右连接:即使连接不上,也保留右边没连接上的部分
itemPrices = pandas.merge(items,prices,left_on="id",right_on="id",how="right")

#4. 外连接:即使连接不上,也保留所有没连上的部分
itemPrices = pandas.merge(items,prices,left_on="id",right_on="id",how="outer")

猜你喜欢

转载自blog.csdn.net/aiyo92/article/details/86512400