Python如何使用Pandas实现vLookup?代码实例
Vlookup本质上用于垂直排列的数据。 Vlookup是一种操作, 用于根据某些条件合并两个不同的数据表, 其中两个表之间必须至少有一个公共属性(列)。执行完此操作后, 我们得到一个表, 该表由两个表中的所有数据组成, 数据与之匹配。
我们可以用merge()函数在Pandas中执行Vlookup。合并功能与SQL中的Join的功能相同。我们可以对表1或表2执行合并操作。合并2个表的方式可能不同。
语法:dataframe.merge(dataframe1, dataframe2, how, on, copy, indicator, suffixes, validate)
参数:datafram1:要与之合并的dataframe对象。
dataframe2:要合并的dataframe对象。
方法:{left, right, inner, outer}指定如何进行合并
on:指定用于执行连接的列或索引名称。
后缀:用于重叠列的后缀。对于例外使用值(False, False)。
验证:如果指定, 则检查合并的类型.mege的类型可以是(一对一, 一对多, 一对多, 许多)。
让我们考虑要对其执行操作的2个表。第一个表格包含学生的信息, 第二列包含他们所报名的各个课程的信息。下面的代码告诉两个表格中包含的信息。
# import pandasimport pandas as pd
# read csv data
df1 = pd.read_csv( 'Student_data.csv' )
df2 = pd.read_csv( 'Course_enrolled.csv' )
print (df1)
print (df2)
输出如下
在不同类型的联接上执行Vlook
内部联接:内连接只生成一个输出数据帧,该数据帧只包含在这两行中满足条件的行。要执行内部连接,可以在how中指定inner作为关键字。
示例:
# import pandasimport pandas as pd
# read csv data
df1 = pd.read_csv( 'Student_data.csv' )
df2 = pd.read_csv( 'Course_enrolled.csv' )
inner_join = pd.merge(df1, df2, on = 'Name' , how = 'inner' )
inner_join
输出如下
左联接:左联接操作提供来自第一个数据帧的所有行和来自第二个数据帧的匹配行。如果第二个数据帧中的行不匹配, 则将其替换为NaN。
例子:
# import pandasimport pandas as pd
# read csv data
df1 = pd.read_csv( 'Student_data.csv' )
df2 = pd.read_csv( 'Course_enrolled.csv' )
Left_join = pd.merge(df1, df2, on = 'Name' , how = 'left' )
Left_join
输出如下:
右连接:右连接有点类似于左连接, 在左连接中, 输出数据帧将包含第二个数据帧中的所有行和第一个数据帧中的匹配行。如果第一行中的行不匹配, 则将其替换为NaN
# import pandasimport pandas as pd
# read csv data
df1 = pd.read_csv( 'Student_data.csv' )
df2 = pd.read_csv( 'Course_enrolled.csv' )
Right_join = pd.merge(df1, df2, on = 'Name' , how = 'right' )
Right_join
输出如下
外部联接:外部联接提供由两个数据帧中的行组成的输出数据帧。如果行匹配, 将显示值, 否则将显示不匹配的NaN。
例子:
# import pandasimport pandas as pd
# read csv data
df1 = pd.read_csv( 'Student_data.csv' )
df2 = pd.read_csv( 'Course_enrolled.csv' )
Outer_join = pd.merge(df1, df2, on = 'Name' , how = 'outer' )
Outer_join
输出如下
首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。
以上是 Python如何使用Pandas实现vLookup?代码实例 的全部内容, 来源链接: utcz.com/p/202626.html