Python中怎么加入多个数据帧
这篇文章给大家介绍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()
步骤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”的内容并计算平均值:
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()
最后,生成的数据框有学生的名字和他们的标记。
merge函数需要一个必要的属性,两个数据帧将在该属性上合并。需要传递此列的名称在“on”参数中。
merge函数的另一个重要论点是“如何”。这指定要在数据帧上执行的联接类型。以下是可以执行的不同连接类型(SQL用户将非常熟悉这一点):
内部连接(如果不提供任何参数,则默认执行)
外部连接
右连接
左连接
现在,我们将看到数据框包含100个“检查点”的行:
mergedData.loc[mergedData['Exam Points']==100]
关于Python中怎么加入多个数据帧就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341