pandas中merge()函数的用法解读
merge()
import pandas as pd pd.merge(DateFrame1,DateFrame2,on = ' ',how = ' ')
merge是pandas中用来合并数据的函数,不像concat是按照某行或某列来合并,而是按照数据中具体的某一字段来连接数据。
具体参数的意思,举例说明,一看就懂!!
举例说明
先列举两个DataFrame
import pandas as pd df_1 = pd.DataFrame({'姓名': ["小明","小红","小刚"], '年纪': [10,9,12], '城市': ['上海','北京','深圳']}) df_1 姓名 年纪 城市 0 小明 10 上海 1 小红 9 北京 2 小刚 12 深圳
df_2 = pd.DataFrame({'零花钱': [50,200,600,400,80], '城市': ['苏州','北京','上海','广州','重庆']}) df_2 零花钱 城市 0 50 苏州 1 200 北京 2 600 上海 3 400 广州 4 80 重庆
on表示按照那个特征来找相同的字段
# 两个DataFrame都有“城市”,并且“城市”里面有相同的元素,可以按照这些相同的元素拼接 result = pd.merge(df_1,df_2, on = '城市') result 姓名 年纪 城市 零花钱 0 小明 10 上海 600 1 小红 9 北京 200
没有on的话,就自动找相同的字段
# 没有on的话,就自动找相同的字段 result = pd.merge(df_1,df_2) result 姓名 年纪 城市 零花钱 0 小明 10 上海 600 1 小红 9 北京 200
how是指两个DateFrame的拼接方式
- how = ‘outer’:外置,相当于两个DateFrame求并集
- how = ‘right’: 右置,合并后,按照最右边不为空的样本显示
- how = ‘left’:左置,合并后,按照最左边不为空的样本显示
- how = ‘inner’:只显示匹配到的字段的样本
# 外置,相当于两个DateFrame求并集 result = pd.merge(df_1,df_2, on = '城市', how = 'outer') result 姓名 年纪 城市 零花钱 0 小明 10.0 上海 600.0 1 小红 9.0 北京 200.0 2 小刚 12.0 深圳 NaN 3 NaN NaN 苏州 50.0 4 NaN NaN 广州 400.0 5 NaN NaN 重庆 80.0
# 右置, result = pd.merge(df_1,df_2, on = '城市', how = 'right') result 姓名 年纪 城市 零花钱 0 小明 10.0 上海 600 1 小红 9.0 北京 200 2 NaN NaN 苏州 50 3 NaN NaN 广州 400 4 NaN NaN 重庆 80
# 左置 result = pd.merge(df_1,df_2, on = '城市', how = 'left') result 姓名 年纪 城市 零花钱 0 小明 10 上海 600.0 1 小红 9 北京 200.0 2 小刚 12 深圳 NaN
# how = 'inner',只显示具有相同字段的样本 result = pd.merge(df_1,df_2, on = '城市', how = 'inner') result 姓名 年纪 城市 零花钱 0 小明 10 上海 600 1 小红 9 北京 200
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程宝库。
Cloudinary提供了一个API,用于将图像、视频和任何其他类型的文件上传到云端。上传到Cloudinary的文件通过安全备份和修订历史记录安全存储在云中。Cloudinary的 ...