温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python中怎么加入多个数据帧

发布时间:2021-08-10 16:29:32 来源:亿速云 阅读:139 作者:Leah 栏目:编程语言

这篇文章给大家介绍Python中怎么加入多个数据帧,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

步骤1:用Python加载数据集

首先,将这些文件加载到单独的数据帧中。

import pandas as pd
marks10th=pd.read_csv('10thClassMarks.csv')
marks12th=pd.read_csv('12thClassMarks.csv')
IDandName=pd.read_csv('StudentIDandName.csv')

前两个数据框包含学生的百分比及其学生ID。在第一个数据框中,有10班学生的分数,而第二个数据框包含第12个标准中学生的分数。第三个数据框包含学生的姓名以及各自的学生ID。

使用“head”函数检查每个数据帧的前几行:

marks10th.head()
marks12th.head()
IDandName.head()

Python中怎么加入多个数据帧

步骤2:合并两个相似的数据帧(Append)

把10、12班的档案合并起来,找出学生的平均分。这里使用Pandas库中的“append”函数:

allMarks=marks10th.append(marks12th)
marks10th.shape, marks12th.shape, allMarks.shape

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

从输出中可以看到,在append函数中垂直添加两个数据帧。

结果数据帧是allMarks。上面比较了所有三个数据帧的形状。

接下来看看“allMarks”的内容并计算平均值:

Python中怎么加入多个数据帧

allMarks['Exam Points'].mean() #Average Marks

输出:49.74

步骤3:合并来自两个数据帧的信息(Merge)

现在,假设想找出在这两个批次中排名第一的学生的名字。这里不需要垂直添加数据帧。为了给学生的名字再加一列,我们将不得不水平缩放。

要做到这一点,我们会发现最高得分:

allMarks['Exam Points'].max() # Maximum Marks

输出:100

学生的最高成绩是100分。现在,使用“merge”函数查找此学生的姓名:

mergedData=allMarks.merge(IDandName, on='student id')
mergedData.head()

Python中怎么加入多个数据帧

最后,生成的数据框有学生的名字和他们的标记。

merge函数需要一个必要的属性,两个数据帧将在该属性上合并。需要传递此列的名称在“on”参数中。

merge函数的另一个重要论点是“如何”。这指定要在数据帧上执行的联接类型。以下是可以执行的不同连接类型(SQL用户将非常熟悉这一点):

  • 内部连接(如果不提供任何参数,则默认执行)

  • 外部连接

  • 右连接

  • 左连接

现在,我们将看到数据框包含100个“检查点”的行:

mergedData.loc[mergedData['Exam Points']==100]

Python中怎么加入多个数据帧

关于Python中怎么加入多个数据帧就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI