当前位置: 首页 > 编程笔记 >

使用Pandas合并,联接和连接DataFrame

喻昀
2023-03-14
本文向大家介绍使用Pandas合并,联接和连接DataFrame,包括了使用Pandas合并,联接和连接DataFrame的使用技巧和注意事项,需要的朋友参考一下

在本教程中,我们将学习使用pandas 库合并,联接和连接DataFrame 。我认为您已经熟悉数据框和熊猫库。让我们一一看这三个操作。

合并

我们有一个名为pandas.merge()的方法,该方法类似于数据库联接操作 来合并数据帧。请按照以下步骤获得所需的输出。合并 方法将公共列用于合并操作。

  • 初始化数据框。

  • 调用带有三个参数数据帧的方法pandas.merge(),如何定义数据库联接操作)(数据帧的公共字段)上。

示例

让我们来看一个例子。

# importing the pandas library
import pandas
# creating dataframes
    dataframe_1 = pandas.DataFrame({"Common": ["A", "B", "C", "D", "E"],
   "Name": ["John", "Alice", "Emma", "Watson", "Harry"], "Age": [18, 19, 20, 21, 15]}) dataframe_2 =     pandas.DataFrame({"Common": ["A", "B", "C", "D", "E"], "Sport": ["Cricket", "Football", "Table     Tennis", "Badminton", "Chess"], "Movie": ["Jumanji", "Black Widow", "End Game", "Mr. Robot",          "Matrix"]})
# merging using merge method
# how = left or right or inner
new_df = pandas.merge(dataframe_1, dataframe_2, how="left", on="Common") # printing the resultant dataframe print(new_df)

输出结果

如果运行上面的代码,您将得到以下结果。

Common Name   Age  Sport            Movie
0   A  John   18  Cricket         Jumanji
1   B  Alice  19  Football    Black Widow
2   C  Emma   20  Table Tennis   End Game
3   D  Watson 21  Badminton     Mr. Robot
4   E  Harry  15  Chess            Matrix

加入

merge方法类似,我们有一个称为dataframe.join(dataframe)的方法用于连接数据框。让我们看看将两个数据框合并为一个的步骤。join方法使用数据帧的索引

  • 初始化数据帧。

  • 编写一个语句dataframe_1.joindataframe_2)加入。

示例

让我们尝试一下编码示例。

# importing the pandas library
import pandas
# creating dataframes
   dataframe_1 = pandas.DataFrame({"Name": ["John", "Alice", "Emma", "Watson", "Harry"], "Age": [18,    19, 20, 21, 15]}, index = ["A", "B", "C", "D", "E"])dataframe_2 = pandas.DataFrame({"Sport":          ["Cricket", "Football", "Table Tennis", "Badminton", "Chess"], "Movie": ["Jumanji", "Black Widow",    "End Game", "Mr. Robot", "Matrix"]}, index = ["A", "B", "C", "D", "E"])
   # joining
   new_df = dataframe_1.join(dataframe_2)
# printing the new dataframe
print(new_df)

如果运行上述程序,将得到以下输出

输出结果

     Name   Age   Sport           Movie
A    John   18   Cricket        Jumanji
B    Alice  19   Football   Black Widow
C    Emma   20   Table Tennis  End Game
D    Watson  21  Badminton    Mr. Robot
E    Harry   15   Chess          Matrix

级联

merge和join方法类似,我们有一个称为pandas.concat(list-> dataframes)的方法来连接数据帧。让我们看看连接数据帧的步骤。串联将数据帧合并为一个。

  • 初始化数据帧。

  • 使用pandas.concat([df_1,df_2,..])连接数据帧。打印结果。

示例

让我们尝试一下编码示例。

# importing the pandas library
import pandas
   # creating dataframes dataframe_1 = pandas.DataFrame({"Name":                                        ["John","Alice","Emma","Watson","Harry"], "Age": [18, 19, 20, 21, 15]}, index = ["A", "B", "C",       "D", "E"]) dataframe_2 = pandas.DataFrame({"Name": ["Wick", "Robert", "Elliot", "Baby",                "Cruise"], "Age": [22, 20, 45, 15, 42]}, index = ["F", "G", "H", "I", "J"])
   # concatenating -> you can pass any number of new_df = pandas.concat([dataframe_1, dataframe_2])
# printing the new dataframe
print(new_df)

输出结果

如果运行上述程序,将得到以下输出。

   Name    Age
A  John     18
B Alice     19
C Emma      20
D Watson    21
E Harry     15
F Wick      22
G Robert    20
H Elliot    45
I Baby      15
J Cruise    42

结论

如果您对本教程有任何疑问,请在评论部分中提及。

 类似资料:
  • 问题内容: 问题 表格1: 表2: 表3: 给定键(A1或A2),我需要使用表2中的相应值更新表1中的DataColumn1和DataColumn2列。 因此,table1可以更新x个行,如上面的数据所示。如果我要更新A1,则01和02行都应更新 (因此,表01中的值对于键01和键02的datacolumn1分别为0.15和1.2(对于datacolumn2)) 到目前为止我尝试过的是: 问题:

  • 问题内容: 我想使用中的多个表中的数据。我有两种从服务器下载数据的想法,一种方法是使用联接和检索数据,一种方法是分别下载数据帧并使用pandas.merge合并它们。 当我想将数据下载到。 熊猫合并 哪一个更快?假设我要对2个以上的表和2个列执行此操作。有什么更好的主意吗?如果有必要知道我使用。 问题答案: 前者比后者快。前者仅需对数据库进行一次调用,并返回已加入并已过滤的结果。但是,后者对数据库

  • 问题内容: 我有2个数据框: restaurant_ids_dataframe 和 restaurant_review_frame 我想使用熊猫中的DataFrame.join()命令将这两个DataFrame加入一个单一的数据框中。 我尝试了以下代码行: 但是,当我尝试这样做时,出现以下错误: 我对熊猫很陌生,不知道就执行join语句而言我在做什么错。 任何帮助将非常感激。 问题答案: 您可以使

  • 一、本功能说明 可以自动批量的将内容里面的关键词语加上超链接 二、子功能导航 1.添加连接 2.管理连接 三、功能详解 1.添加规则 1).如何进入本功能 导航栏 选择扩展 -> 菜单栏 选择关联连接 -> 添加关联连接 2).界面解释 点击后弹出如下界面 界面详述 1). 关联连接名称: 您可以需要添加连接的关键字 2). 关联连接网址: 该关键字对应的网址 2.管理连接 1).如何进入本功能

  • 主要内容:concat(),append()Pandas 通过 concat() 函数能够轻松地将 Series 与 DataFrame 对象组合在一起,函数的语法格式如下:  pd.concat(objs,axis=0,join='outer',join_axes=None,ignore_index=False) 参数说明如下所示: 参数名称 说明 objs 一个序列或者是Series、DataFrame对象。 axis 表示在哪个轴方向

  • 我有两个列表,我想离开加入一个。 当我尝试这样做时,我会得到同样的错误: 运行dtypes将两个列表标识符作为Object返回。