css中如何实现帧布局_?如何在Python中加入多个数据帧?
全文共2235字,预计学习时长7分钟
初学Python编程的人,面临的是各种未知的挑战。
下面是一个几乎让所有更有抱负的数据科学家都感到意外的场景:你正在处理一个从多个源收集数据的项目。在进入探索和模型构建部分之前,你需要首先连接这些多个数据集(以表、数据帧等形式)。
怎么能做到这一点而不丢失任何信息?这听起来可能是一个简单的场景,但对于许多新来的人来说,这可能是一个威胁,特别是那些不熟悉Python编程的人。
进一步深入研究,我可以大致将其分为两种情况:
1.首先,具有相似属性的数据可以分布到多个文件中。例如,假设向你提供了多个文件,每个文件都存储一年中某一周内发生的销售信息。因此,全年将有52个文件。每个文件的列数和名称都相同。2.其次,你可能需要合并来自多个来源的信息。例如,假设你想获得购买产品的人的联系信息。这里有两个文件,第一个有销售信息,第二个有客户信息。
理解手头的问题
本文列举一个通俗易懂的例子。想一下在一个特定的学校里考试。每个科目都有不同的老师授课。他们更新关于学生成绩和整体表现的档案。这些档案就是多个文件! 本文使用创建的两个这样的文件来演示Python中函数的工作。第一个文件包含关于12班学生的数据,另一个文件包含10班的数据。还将使用第三个文件来存储学生的姓名和学生ID。注意:虽然这些数据集是从零开始创建的,但鼓励将所学应用于选择的数据集。
在Python中逐步合并数据帧的过程
下面是解决这个问题的方法:1.用Python加载数据集2.合并两个相似的数据帧(append)3.合并来自两个数据帧的信息(merge)
步骤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用户将非常熟悉这一点):
· 内部连接(如果不提供任何参数,则默认执行)
· 外部连接
· 右连接
· 左连接
还可以使用“sort”参数对数据帧进行排序。这些是合并两个数据帧时最常用的参数。
现在,我们将看到数据框包含100个“检查点”的行:
mergedData.loc[mergedData['Exam Points']==100]
三个学生得了100分,其中两个在10班。做得好!
接下来,我的建议是接受包含3个不同文件的食物预测挑战。很直截了当,对吧?你再也不必为此而自责了!你可以继续并将其应用于选择的任何数据集。
留言 点赞 关注
我们一起分享AI学习与发展的干货
编译组:肖依
相关链接:https://www.analyticsvidhya.com/blog/2020/02/join-dataframes-in-python/
如转载,请后台留言,遵守转载规范
css中如何实现帧布局_?如何在Python中加入多个数据帧?相关推荐
- python中glob模块怎么下_如何在Python中使用glob.glob模块搜索子文件夹?
如何在Python中使用glob.glob模块搜索子文件夹? 我想在文件夹中打开一系列子文件夹,找到一些文本文件并打印一些文本文件行. 我用这个: configfiles = glob.glob('C ...
- python中none是什么类型_如何在Python中”测试”None类型?
我有一个方法,它有时返回一个非类型的值.那么我怎样才能质疑一个非类型的变量呢?例如,我需要使用if方法 if not new: new = '#' 我知道这是错误的方式,我希望你理解我的意思. 我想这 ...
- python中的import详解_如何在python中import
用法 1.import同一个路径下的.py文件. 这是import关键字最基本的用法,import moudle1可以理解为直接将module1.py的语句复制到对应的代码段. 2.import pa ...
- python中如何导入数据包_如何在python中发送数据包?
我尝试使用这段代码在 python中使用scapy发送数据包 data= "University of texas at San Antonio" a=IP(dst="1 ...
- python中的怎么打出来_如何在Python中打印上标?
我知道python中的\ xb函数,但它似乎对我不起作用.我知道我可能需要下载第三方模块来完成此任务,如果是这样,哪个是最好的?我是Python和StackOverflow的新手,因此是我的基本问题. ...
- python中怎么创建一个词典_如何在Python中创建字典词典
所以我正在学习一个自然语言处理类,我需要创建一个trigram语言模型来生成随机文本,这些文本在一定程度上基于一些样本数据看起来"逼真". 根本需要创建一个"三元组&qu ...
- css中如何实现帧布局_如何在游戏中实时显示硬件占用率和帧数
很多的的硬件评测视频中,游戏画面的左上角会显示硬件的使用情况参数,像CPU和GPU的占用率,内存和显存使用,温度等.有不少的朋友有疑问,这是怎么做到的? 其实这个事情不难,只需要一款软件就可以做到,名 ...
- python中save是什么意思_如何在Python中生成save函数
所以我用python做了一个记事本克隆,但是我被卡住了. 我想将doNothing()函数改为Save函数. 我希望用户能够命名他在程序中写的文件,并将其保存在他想要的地方.在from tkinter ...
- python中访问命令行参数_如何在Python中访问命令行参数?
我强烈建议argparsePython 2.7及更高版本随附. 该argparse模块减少了样板代码,并使您的代码更健壮,因为该模块可以处理所有标准用例(包括子命令),为您生成帮助和用法,检查和清理用 ...
最新文章
- 再读《数量生态学:R语言应用》
- 中国铁建内网漫游沦陷多个重要部门泄漏大量信息(redis+ssh-keygen免认证登录案例)...
- Selenium3自动化测试——16. 处理HTML5视频播放
- python游戏最简单代码-如何利用Python开发一个简单的猜数字游戏
- ES6常用知识总结(20%的知识占80%的份额)
- 总是想逃避不想去面对(又是发牢骚的一天)
- 为静态博客生成器WDTP移植了一款美美哒主题
- 记一次Linux磁盘满盘/dev/vda1目录清理记录
- celery-01-异步任务模块-解决发送邮件的延时问题
- she's gone
- 云图说 | 通过Helm模板快速部署中间件应用
- 日本用活体肌肉构建机械臂,人类与机器融合取得新突破
- 如何查看并杀死僵尸进程?
- 泪目!java项目源码免费下载
- 用户故事 | 排定优先级
- 在eclipse上安装lomboz插件
- Java小游戏总结(五子棋)
- 《Miss Talk》第08期:对话桥吧英语联合创始人兼CTO 于双印
- 划水摸鱼的时候写一篇自己是怎么划水摸鱼的
- weico.cc微博链接
热门文章
- Oracle数据库12cR2(项目实战之二):Linux系统安装Oracle12.2
- 《CCNA学习指南:Cisco网络设备互连(ICND1)(第4版)》——1.10节本章小结
- maven deploy distributionManagement
- 实作 ASP.NET 多笔数据离线编辑
- 软件工程:汇编语言和C语言在软件工程的应用,计算机学生必看!
- 可视化大屏设计指南,附20份可直接套用的实用模板
- 老板眼中理想的“数据中台”,是不是真的存在?
- 于连生性聪颖的飞鸽传书
- C++即时通讯实现原理及常见问题
- p2psearcher怎么用