Vlookup本质上用于垂直排列的数据。 Vlookup是一种操作, 用于根据某些条件合并两个不同的数据表, 其中两个表之间必须至少有一个公共属性(列)。执行完此操作后, 我们得到一个表, 该表由两个表中的所有数据组成, 数据与之匹配。
我们可以用merge()函数在Pandas中执行Vlookup。合并功能与SQL中的Join的功能相同。我们可以对表1或表2执行合并操作。合并2个表的方式可能不同。
语法:dataframe.merge(dataframe1, dataframe2, how, on, copy, indicator, suffixes, validate)【Python如何使用Pandas实现vLookup(代码实例)】让我们考虑要对其执行操作的2个表。第一个表格包含学生的信息, 第二列包含他们所报名的各个课程的信息。下面的代码告诉两个表格中包含的信息。
参数:datafram1:要与之合并的dataframe对象。
dataframe2:要合并的dataframe对象。
方法:{left, right, inner, outer}指定如何进行合并
on:指定用于执行连接的列或索引名称。
后缀:用于重叠列的后缀。对于例外使用值(False, False)。
验证:如果指定, 则检查合并的类型.mege的类型可以是(一对一, 一对多, 一对多, 许多)。
# import pandas
import 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 pandas
import 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 pandas
import 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 pandas
import 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 pandas
import 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课程。
推荐阅读
- 如何有效地对20年代的大列表日期进行排序
- 如何使用PHP将HTML标签显示为纯文本
- 深度学习——torch学习笔记|n-grams语言模型——【torch学习笔记】
- 编译mate-control-center(error: required directory ./help does not exist)
- 生产制造业如何谋求数字化转型(需要哪些信息化系统做支撑?)
- No package ‘gtk+-3.0‘ found
- No package ‘libpeas-1.0‘ found/No package ‘libpeas-gtk-1.0‘
- undefined reference to `gdk_monitor_get_scale_factor/gtk_widget_get_scale_factor‘
- 无法定位软件包dbus-glib-1