Pandas:按索引合并数据集

本文详细介绍了使用Python的Pandas库进行数据合并的方法,包括merge函数和join函数的应用。通过具体的例子展示了如何根据不同的键进行内外连接操作,适用于数据集成和预处理场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import numpy as np
import pandas as pd
from pandas import Series,DataFrame

一、merge函数

left1 = DataFrame({'水果':['苹果','梨','草莓'],
                  '价格':[3,4,5],
                  '数量':[9,8,7]}).set_index('水果')
right1 = DataFrame({'水果':['苹果','草莓'],
                   '产地':['美国','中国']})
print(left1)
print(right1)
    价格  数量
水果        
苹果   3   9
梨    4   8
草莓   5   7
   产地  水果
0  美国  苹果
1  中国  草莓
print(pd.merge(left1,right1,right_on='水果',left_index=True,how='outer'))
   价格  数量   产地  水果
0   3   9   美国  苹果
1   4   8  NaN   梨
1   5   7   中国  草莓

二、DataFrame的join函数

left2 = left1
right2 = right1.set_index('水果')

1.join函数默认将两个DataFrame的index进行合并

print(left2.join(right2))
    价格  数量   产地
水果             
苹果   3   9   美国
梨    4   8  NaN
草莓   5   7   中国

2.若其中一个DataFrame合并的键不在索引上,可使用on参数

print(right1.join(left1,on='水果',how='outer'))
    产地  水果  价格  数量
0   美国  苹果   3   9
1   中国  草莓   5   7
1  NaN   梨   4   8

3.多个DataFrame按索引合并

another = DataFrame({'水果':['苹果','香蕉','梨'],
                    '品质':['AA','AAAA','A']}).set_index('水果')
print(left2.join([right2,another],how='outer'))
     价格   数量   产地    品质
梨   4.0  8.0  NaN     A
苹果  3.0  9.0   美国    AA
草莓  5.0  7.0   中国   NaN
香蕉  NaN  NaN  NaN  AAAA
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BQW_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值