Python利用pandas进行数据合并
当使用Python中的pandas库时,merge函数是用于合并(或连接)两个数据框(DataFrame)的重要工具。它类似于SQL中的JOIN操作,允许你根据一个或多个键(key)将两个数据框连接起来。
merge函数的基本语法如下:
pd.merge(
left, # 要合并的左侧 DataFrame
right, # 要合并的右侧 DataFrame
how='inner', # 连接方式,包括 'left', 'right', 'outer', 'inner',默认为 'inner'
on=None, # 用于连接的列名,必须存在于左侧和右侧 DataFrame 中
left_on=None, # 左侧 DataFrame 用于连接的列名
right_on=None, # 右侧 DataFrame 用于连接的列名
left_index=False, # 如果为 True,则使用左侧 DataFrame 的索引作为连接键
right_index=False, # 如果为 True,则使用右侧 DataFrame 的索引作为连接键
suffixes=('_x', '_y'), # 字符串后缀,用于重叠列名的处理
sort=False, # 根据连接键对合并后的数据进行排序
copy=True, # 如果为 False,可以提高性能,但是在某些情况下会修改原始数据
)
基本用法
merged_df = pd.merge(left_df, right_df, how='outer', on=['店铺名称']) # 连接方式,包括 'left', 'right', 'outer', 'inner',默认为 'inner'
print(merged_df)
指定不同的列名
merged_df = pd.merge(left_df, right_df, how='outer', left_on='店铺名称', right_on='店铺名称2')
print(merged_df)
处理重复列名,相同列名加后缀
merged_df = pd.merge(left_df, right_df, how='outer', on=['店铺名称'], suffixes=('_left', '_right'))
print(merged_df)
根据索引进行合并
merged_df = pd.merge(left_df, right_df, how='outer', left_index=True, right_index=True)
print(merged_df)
开启一列标记列,标记数据来源
merged_df = pd.merge(left_df, right_df, how='outer', on=['店铺名称','订单号'], indicator=True)
print(merged_df)
完整代码
import pandas as pd # 读取两个 Excel 文件
left_df = pd.read_excel('C:\\Users\\liuchunlin2\\Desktop\\数据1.xlsx',sheet_name='Sheet2')
right_df = pd.read_excel('C:\\Users\\liuchunlin2\\Desktop\\数据2.xlsx',sheet_name='Sheet2') #基本用法
merged_df = pd.merge(left_df, right_df, how='outer', on=['店铺名称']) # 连接方式,包括 'left', 'right', 'outer', 'inner',默认为 'inner'
print(merged_df) #指定不同的列名
merged_df = pd.merge(left_df, right_df, how='outer', left_on='店铺名称', right_on='店铺名称2')
print(merged_df) #处理重复列名,相同列名加后缀
merged_df = pd.merge(left_df, right_df, how='outer', on=['店铺名称'], suffixes=('_left', '_right'))
print(merged_df) #根据索引进行合并
merged_df = pd.merge(left_df, right_df, how='outer', left_index=True, right_index=True)
print(merged_df) #开启一列标记列,标记数据来源
merged_df = pd.merge(left_df, right_df, how='outer', on=['店铺名称','订单号'], indicator=True)
print(merged_df)
数据一:

数据二:

Python利用pandas进行数据合并的更多相关文章
- Python利用pandas处理数据后画图
pandas要处理的数据是一个数据表格.代码: 1 import pandas as pd 2 import numpy as np 3 import matplotlib.pyplot as plt ...
- python 利用pandas导入数据
- Python利用pandas处理Excel数据的应用
Python利用pandas处理Excel数据的应用 最近迷上了高效处理数据的pandas,其实这个是用来做数据分析的,如果你是做大数据分析和测试的,那么这个是非常的有用的!!但是其实我们平时在做 ...
- python-数据描述与分析2(利用Pandas处理数据 缺失值的处理 数据库的使用)
2.利用Pandas处理数据2.1 汇总计算当我们知道如何加载数据后,接下来就是如何处理数据,虽然之前的赋值计算也是一种计算,但是如果Pandas的作用就停留在此,那我们也许只是看到了它的冰山一角,它 ...
- 利用Python进行数据分析(12) pandas基础: 数据合并
pandas 提供了三种主要方法可以对数据进行合并: pandas.merge()方法:数据库风格的合并: pandas.concat()方法:轴向连接,即沿着一条轴将多个对象堆叠到一起: 实例方法c ...
- python利用mongodb上传图片数据 : GridFS 与 bson两种方式
利用mongodb保存图片通常有两种方法,一种是将图片数据转化为二进制作为字典的键值对进行保存,另一种是利用mongodb提供的GridFS进行保存,两者各有利弊.性能方面的优劣未曾测试,无法进行评价 ...
- 数据分析入门——pandas之数据合并
主要分为:级联:pd.concat.pd.append 合并:pd.merge 一.numpy级联的回顾 详细参考numpy章节 https://www.cnblogs.com/jiangbei/p/ ...
- pandas 之 数据合并
import numpy as np import pandas as pd Data contained in pandas objects can be combined together in ...
- Python 利用二分法查询数据
一. 二分法的适用条件 二分法查找适用于数据量较大时, 但是数据需要先排好顺序. 优点: 二分法查找效率特别高 缺点: 二分法只适用于有序序列 二. 二分法的主要思想是:设查找的数组区间为array[ ...
- 【NumPy】Python利用linspace进行数据采样
情景 假设有一堆长度为1000的数据,我现在只想要其中800个并且要求整体趋势一样,那就可以试试使用linspace进行等间距的采样. 简介 linspace(start, stop, num=50, ...
随机推荐
- Mysql高级4-索引的使用规则
一.最左前缀法则 如果索引了多列(联合索引),要遵守最左前缀法则.最左前缀法则指的是查询从索引的最左列开始,并且不跳过索引中的列,如果跳跃某一列,索引将部分失效(后面的字段索引失效) 示例1:acco ...
- Pandas: title函数的作用
代码演示 将首字母大写,其余小写 效果演示 参考链接 https://www.w3resource.com/pandas/series/series-str-title.php
- OpenAI API访问速度不佳?试试用Vercel来加速!
前言 众所周知,使用openAI API在国内访问体验并不佳,经常遇到访问较慢或者访问失败的问题.本文着重讲讲怎么解决这个问题,让我们日常开发和使用能够更方便的体验到AI带来的便利 为了帮大家省钱,也 ...
- tensorflow.js 多分类,机器学习区分企鹅种类
前言: 在规则编码中,我们常常会遇到需要通过多种区间判断某种物品分类.比如二手物品的定价,尽管不是新品没有 SKU 但是基本的参数是少不了.想通过成色来区分某种物品,其实主要是确定一些参数.然后根据参 ...
- start_HTTPServer
alias alias wser='sh /Users/enzhao/suanec/libs/envs/start_HTTPServer.sh' /Users/enzhao/suanec/libs/e ...
- 静态vlan的划分实验
静态vlan的划分 1,toupu图 2,配置id与子网掩码 2.1,pc,server的ip与子网配置 pc5 pc6 pc7 pc8 server1 server2 3,vlan的静态划分 1,v ...
- axios快速上手(简单使用)
axios对ajax请求进行了封装,并且使用promise的链式调用使得网络请求的代码逻辑更为清晰,同时支持async和await的编写方式使代码看起来像同步,更加方便于理解和阅读.axios这个库的 ...
- [Arch小贴士]在这里记录一些自己使用的小技巧
哈喽!Arch 目录 0x00 设置开机自启动软件 首先 最后 0x01 ASLR开关 0x00 设置开机自启动软件 首先 首先进入目录/usr/share/applications,找到你要的那个软 ...
- 使用阿里云ECS和RDS搭建个人博客
一.ECS实例配置 1.重置云服务器ECS密码 前往ECS控制台,点击实例,找到刚才开通的ECS实例(找不到的话就看一下上方的地区是否是你的服务器的地域),点击右侧操作栏中的三个点,找到重置实例密码, ...
- (2023.8.28)Hi铁布衫-CM Ver 0.001 - Cracked-writeup
Hi铁布衫-CM Ver 0.001 WriteUp 本文作者:XDbgPYG(小吧唧) 发布时间:2023年8月28日 内容概要:Hi铁布衫-CM Ver 0.001 WriteUp 收集信息 有一 ...