选择题
以下关于pd.merge()方法说法错误的是?
A 若缺省how参数:用内连接的方式合并
B 若缺省how参数:用外连接的方式合并
C how=left:用左连接的方式合并
D how=outer:用外连接的方式合并
温馨期待
期待大家提出宝贵建议,互相交流,收获更大,助教:zx
欢迎大家转发,一起传播知识和正能量,帮助到更多人。期待大家提出宝贵改进建议,互相交流,收获更大。辛苦大家转发时注明出处(也是咱们公益编程交流群的入口网址),刘经纬老师共享知识相关文件下载地址为:http://liujingwei.cn
问题解析
1.pd.merge(df1,df2,how='')方法用来对两个dataframe进行合并操作,how为可选参数,用来设置合并方式。
2.pd.merge(df1,df2),表示默认以内连接的方式进行合并,即只保留两个dataframe相同列中元素值相同的记录行。A选项正确,B选项错误。
3.pd.merge(df1,df2,how=’left’),表示以左连接的方式进行合并,保留左数据框df1的所有记录行,若右数据框df2中没有相应数据则用NaN填充。C选项正确。
4.pd.merge(df1,df2,how=’right’),表示以右连接的方式进行合并,保留右数据框df2的所有记录行,若左数据框df1中没有相应数据则用NaN填充。
5.pd.merge(df1,df2,how=’outer’),表示以外连接的方式进行合并,保留左右数据框的所有记录行,缺失的数据用NaN填充。D选项正确。
6.当两个DataFrame中不存在具有相同列名的情况,但是又希望依据第一个DataFrame中的列A和第二个DataFrame中的列B进行两个DataFrame合并(组合查询)的时候,可以使用left_on和right_on参数实现。如图3所示:两个数据框希望根据DataFrame1的key1列和DataFrame2的key2列中相同的值进行DataFrame组合,可以使用pd.merge(df1,df2,left_on='key1',right_on='key2')实现。
附图
图1 pd.merge的使用方法(内连接、左连接)
图2 pd.merge的使用方法(右连接、外连接)
图3 依据两个DataFrame中不同的列实现pd.merge
附图代码
import pandas as pd
import numpy as np
from pandas import DataFrame
df1=DataFrame({'key':['X','Y','Z'],'value1':[1,2,3]})
df1
df2=DataFrame({'key':['X','B','C'],'value2':[4,5,6]})
df2
pd.merge(df1,df2)
pd.merge(df1,df2,how='left')
pd.merge(df1,df2,how='right')
pd.merge(df1,df2,how='outer')
df1=DataFrame({'key1':['X','Y','Z'],'value1':[1,2,3]})
df2=DataFrame({'key2':['A','B','Z'],'value2':[4,5,6]})
pd.merge(df1,df2,left_on='key1',right_on='key2')
正确答案
B