DataFrame的使用

查看数据类型及属性

# 查看df类型
type(df) 
# 查看df的shape属性,可以获取DataFrame的行数,列数
df.shape
# 查看df的columns属性,获取DataFrame中的列名
df.columns
# 查看df的dtypes属性,获取每一列的数据类型
df.dtypes
df.info()

Pandas与Python常用数据类型对照

加载筛选数据

df根据列名加载部分列数据:加载一列数据,通过df['列名']方式获取,加载多列数据,通过df[['列名1','列名2',...]]。

df按行加载部分数据:先打印前5行数据 观察第一列 print(df.head()) 最左边一列是行号,也就是DataFrame的行索引 Pandas默认使用行号作为行索引。

loc方法传入行索引,来获取DataFrame的部分数据(一行,或多行)
df.loc[0]
df.loc[99]
df.loc[last_row_index]

iloc : 通过行号获取行数据
iloc传入的是索引的序号,loc是索引的标签
使用iloc时可以传入-1来获取最后一行数据,使用loc的时候不行

loc和iloc属性既可以用于获取列数据,也可以用于获取行数据
df.loc[[行],[列]]
df.iloc[[行],[列]]
df.loc[:,['country','year','pop']]
# 获取全部的行,但每一行的列内容接受三个

df.iloc[:,[0,2,4,-1]]
df.loc[:,[0,2,4,-1]]
df.iloc[:,0:6:2]       # 所有行, 第0 , 第2 第4列

        可以通过行和列获取某几个格的元素

分组和聚合运算

先将数据分组  对每组的数据再去进行统计计算如,求平均,求每组数据条目数(频数)等 再将每一组计算的结果合并起来 可以使用DataFrame的groupby方法完成分组/聚合计算

df.groupby(by='year')[['lifeExp','pop','gdpPercap']].mean()
# 根据year分组,查看每年的life平均值,pop平均值和gpd平均值,用mean做聚合运算

也可以根据两个列分组,形成二维数据聚合

df.groupby(['continent'])['country'].nunique()
df.groupby('continent')['lifeExp'].max()
# 可以使用 nunique 方法 计算Pandas Series的唯一值计数
# 可以使用 value_counts 方法来获取Pandas Series 的频数统计

df.groupby(‘continent’) → dataframeGroupby对象就是把continent取值相同的数据放到一组中
df.groupby(‘continent’)[字段] → seriesGroupby对象  从分号组的Dataframe数据中筛序出一列
df.groupby(‘continent’)[字段].mean() seriesGroupby对象再调用mean()/其它聚合函数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/232980.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Flutter自定义下拉选择框dropDownMenu

利用PopupMenuButton和PopupMenuItem写了个下拉选择框,之所以不采用系统的,是因为自定义的更能适配项目需求,话不多说,直接看效果 下面直接贴出代码、代码中注释写的都很清楚,使用起来应该很方便,如果有任何…

Java开发工具:IDEA 2023.3(WinMac)中文激活版

IntelliJ IDEA 2023是一款由JetBrains公司出品的集成开发环境(IDE),专为程序员设计。它以智能、高效和人性化为主要特点,致力于提高开发人员的生产力,帮助程序员更快、更好地编写代码。 在智能功能方面,Int…

51单片机数码管的使用

IO的使用2–数码管 本文主要涉及51单片机的数码管的使用 文章目录 IO的使用2--数码管一、数码管的定义与类型1.1 数码管的原理图二、 举个栗子2.1 一个数码管的底层函数2.2 调用上面的底层函数显示具体数字 一、数码管的定义与类型 数码管是一种用于数字显示的电子元件&#x…

C语言进阶之路之顶峰相见篇

目录 一、学习目标 二、宏定义 预处理 宏的概念 带参宏 无值宏定义 三、条件编译 条件编译 条件编译的使用场景 四、头文件 头文件的作用 头文件的内容 头文件的基础语句: GCC编译器的4个编译步骤: 总结 一、学习目标 掌握宏定义含义和用…

hdlbits系列verilog解答(mt2015_q4b)-53

文章目录 一、问题描述二、verilog源码三、仿真结果一、问题描述 本次我们根据仿真波形图反向设计一个电路。波形如下图: 根据波形,我们可以得到真值表: x y z 0 0 1 0 1 0 1 0 0 1 1 1 逻辑表达式可以写成以下积之和形式: z = (!x&!y) | (x&y); 二、verilog源码…

php使用vue.js实现省市区三级联动

参考gpt 有问题问gpt 实现效果 现省市区三级联动的方法可以使用PHP结合AJAX异步请求来实现。下面是一个简单的示例代码&#xff1a; HTML部分&#xff1a; <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>省市区三级联动…

基础课20——从0-1客服机器人生命周期

温馨提示&#xff1a;篇幅较长&#xff0c;可点击目录查看对应节点。 1.机器人搭建期 搭建机器人包含&#xff1a;素材整理、问题提炼、相似问题补充、答案编辑、问题分配引擎等等步骤&#xff0c;不同厂商可能有所区别&#xff0c;但关键功能的实现离不开以下步骤。 1.1素材…

MA营销自动化如何助力商家实现精准营销?

惟客数据 MAP 是一个跨渠道和设备的自动化营销平台&#xff0c;允许接触点编排个性化旅程&#xff0c;通过短信、社交推送等方式为您的客户创建无缝的个性化体验&#xff0c;加强客户关系并赢得忠诚度。可与惟客数据CDP 产品无缝配合使用&#xff0c;通过数据驱动做出更实时&am…

Qt实现二维码生成和识别

一、简介 QZxing开源库: 生成和识别条码和二维码 下载地址&#xff1a;https://gitcode.com/mirrors/ftylitak/qzxing/tree/master 二、编译与使用 1.下载并解压&#xff0c;解压之后如图所示 2.编译 打开src目录下的QZXing.pro&#xff0c;选择合适的编译器进行编译 最后生…

软件测试:Selenium三大等待(详解版)

一、强制等待 1.设置完等待后不管有没有找到元素&#xff0c;都会执行等待&#xff0c;等待结束后才会执行下一步 2.实例&#xff1a; driver webdriver.Chrome()driver.get("https://www.baidu.com")time.sleep(3) # 设置强制等待driver.quit() 二、隐性等待 …

前端知识(十)———JavaScript 使用URL跳转传递数组对象数据类型的方法

目录 首先了解一下正常传递基本数据类型 JavaScript跳转页面方法 JavaScript路由传递参数 JavaScript路由接收参数传递对象、数组 在前端有的时候会需要用链接进行传递参数&#xff0c;基本数据类型的传递还是比较简单的&#xff0c;但是如果要传递引用数据类型就比较麻烦了…

深入解析PyTorch的DataLoader:参数探秘与使用指南【建议收藏】

引言 当我们深入探索深度学习的世界时&#xff0c;PyTorch作为一个强大且易用的框架&#xff0c;提供了丰富的功能来帮助我们高效地进行模型训练和数据处理。其中&#xff0c;DataLoader是PyTorch中一个非常核心且实用的组件&#xff0c;它负责在模型训练过程中加载和处理数据…

如何利用Axure制作移动端产品原型

Axure是一款专业的快速原型设计工具&#xff0c;作为专业的原型设计工具&#xff0c;Axure 能够快速、高效地创建原型&#xff0c;同时支持多人协作设计和版本控制管理。它已经得到了许多大公司的采用&#xff0c;如IBM、微软、思科、eBay等&#xff0c;这些公司都利用Axure 进…

【Linux】地址空间

本片博客将重点回答三个问题 什么是地址空间&#xff1f; 地址空间是如何设计的&#xff1f; 为什么要有地址空间&#xff1f; 程序地址空间排布图 在32位下&#xff0c;一个进程的地址空间&#xff0c;取值范围是0x0000 0000~ 0xFFFF FFFF 回答三个问题之前我们先来证明地址空…

react中使用react-konva实现画板框选内容

文章目录 一、前言1.1、API文档1.2、Github仓库 二、图形2.1、拖拽draggable2.2、图片Image2.3、变形Transformer 三、实现3.1、依赖3.2、源码3.2.1、KonvaContainer组件3.2.2、use-key-press文件 3.3、效果图 四、最后 一、前言 本文用到的react-konva是基于react封装的图形绘…

Scrum

Scrum是一个用于开发和维持复杂产品的框架&#xff0c;是一个增量的、迭代的开发过程。在这个框架中&#xff0c;整个开发过程由若干个短的迭代周期组成&#xff0c;一个短的迭代周期称为一个Sprint&#xff0c;每个Sprint的建议长度是2到4周(互联网产品研发可以使用1周的Sprin…

序列的Z变换(信号的频域分析)

1. 关于Z变换 2. 等比级数求和 3. 特殊序列的Z变换 4. 因果序列/系统收敛域的特点 5. 例题

力扣 4. 寻找两个正序数组的中位数

题目 给定两个大小分别为 m 和 n 的正序&#xff08;从小到大&#xff09;数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 My class Solution {public double findMedianSortedArrays(int[] nums1, int[] nums2) {i…

LLM之Agent(五)| AgentTuning:清华大学与智谱AI提出AgentTuning提高大语言模型Agent能力

​论文地址&#xff1a;https://arxiv.org/pdf/2310.12823.pdf Github地址&#xff1a;https://github.com/THUDM/AgentTuning 在ChatGPT带来了大模型的蓬勃发展&#xff0c;开源LLM层出不穷&#xff0c;虽然这些开源的LLM在各自任务中表现出色&#xff0c;但是在真实环境下作…

按天批量创建间隔分区表(DM8:达梦数据库)

DM8:达梦数据库-按天批量创建间隔分区表 环境介绍1 生成按天批量创建间隔分区表的日志2 整合后的日志信息3 创建成功4 达梦数据库学习使用列表 环境介绍 由于未知原因限制,按天批量创建间隔分区表最大是103行记录,需要反复执行几次,提取日志,整合后最终创建成功; 1 生成按天批…