编程技术网

关注微信公众号,定时推送前沿、专业、深度的编程技术资料。

 找回密码
 立即注册

QQ登录

只需一步,快速开始

极客时间

如何在Python中加入多个dataframe

xcs4me Python 2022-1-19 10:50 204人围观

腾讯云服务器

在Python中合并多个dataframe的挑战

以下是几乎每一个快乐和有抱负的数据科学家旅行的 Scenario :

您正在研究从多个来源收集数据的项目。在您可以进入探索和模型构建部分之前,您需要先加入这些多个数据集(以表格,dataframes等的形式)。你怎么能在没有丢失任何信息的情况下这样做?

这可能听起来像一个简单的 Scenario ,但它可能会令人恐惧,因为很多新人,特别是那些不熟悉Python编程的人。

进一步钻入这一点,我可以将其广泛分为两种情况:

  1. First, the data with similar attributes may be distributed into multiple files. For example, suppose you are provided with multiple files each of which stores the information of sales that occurred in a particular week of the year. Thus, you will have 52 files for the whole year. Each file will have the same number and names of the columns.
  2. Second, you may require combining information from multiple sources. For example, let’s say you want to get the contact information of people who have bought your products. Here you have two files – the first one with sales information and a second one with information about the customers.

I will show you how to work with both scenarios and join multiple dataframes in Python.

了解手头的问题

为了本文的目的,我将采取一个 stream 行的易懂的例子。

让我们考虑一下特定学校的考试的例子。有各种科目与分配给每个主题的不同教师 Teachable 。他们更新自己的文件,就学生标记和整体性能更新。我们在这里谈论多个文件!

对于本文,我们将使用两种我创建的文件来演示Python函数的工作。第一个文件包含关于第12类学生的数据,另一个文件具有第10类的数据。我们还将使用第三个文件,该文件将学生的名称与他们的学生ID一起使用。

注意:虽然这些数据集是从头开始创建的,但我鼓励您应用您将在您选择的数据集中 Learning 的内容。

python中的perging dataframe的逐步过程

以下是我们如何接近这个问题:

  1. Load the Datasets in Python
  2. Combine Two Similar Dataframes (Append)
  3. Combine Information from Two Dataframes (Merge)

第1步:在Python中加载数据集

我们将在本文中使用三个单独的数据集。首先,我们需要将这些文件加载到单独的DataFrame中。

前两个Dataframe包含学生的百分比以及他们的学生ID。在我们的第一个DataFrame中,我们有10级学生的标记,而第二个Dataframe包含第12位标准的标记。第三个DataFrame包含学生的名称以及各自的学生ID。

我们可以使用“头” Feature 来检查每个DataFrame的前几行:

第2步: Combination 两个类似的DataFrame(附加)

让我们 combine 第10级和第12类的文件,以找到由学生评分的平均标志。在这里,我们将使用Pandas库中的“附加” Feature :

输出:((50,3),(50,3),(100,3))

从输出中可以看出,Append函数垂直添加两个DataFrame。

生成的dataframe是Allmarks。以上比较了所有三个数据标记的形状。

接下来,让我们来看看'Allmarks'的内容并计算均值:

产出:49.74

第3步:将信息与两个dataframes(merge) Combination

现在,让我们说我们想找到第一次 batch 来到的学生的名称。在这里,我们不需要垂直添加DataFrame。我们必须水平扩展它,以便为学生的名称添加一列。

为此,我们会发现得分的最大标记:

产出:100

学生实现的最大标志是100.现在,我们将使用“合并” Feature 来查找本学生的名称:

最后,结果数据帧具有与其标记一起映射的学生的名称。

合并函数需要将两个Dataframe合并的必要属性。我们需要传递此列的名称在'ON'参数中。

合并的另一个重要论点是'怎么'。这指定要在DataFrame上执行的加入类型。以下是您可以执行的不同连接类型(SQL用户对此非常熟悉):

  • Inner join (performed by default if you don’t provide any argument)
  • Outer join
  • Right join
  • Left join

我们还可以使用“排序”参数对DataFrame进行排序。这些是最常用的参数,同时合并两个dataframes。

现在,我们将看到DataFrame包含100'考试点'的行:

三名学生获得了100个标记,其中两个是第10阶级。做得好!

结束票据

Pretty straightforward, right? No need to trip yourself up over this anymore! You can go ahead and apply this to any dataset of your choice. My recommendation is to pick up the food forecasting challenge that contains 3 different files.

If you are a newcomer to Python for data science, you can enroll in this free course.

有关的

转自:https://www.analyticsvidhya.com/blog/2020/02/join-dataframes-in-python/
原作者: Gyan Prakash Tripathi
腾讯云服务器 阿里云服务器


关注微信
^