首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Pandas库的基础使用系列---获取行和列

前言我们上篇文章简单的介绍了如何获取行和列的数据,今天我们一起来看看两个如何结合起来用。获取指定行和指定列的数据我们依然使用之前的数据。...我们先看看如何通过切片的方法获取指定列的所有行的数据info = df.loc[:, ["2021年", "2017年"]]我们注意到,行的位置我们使用类似python中的切片语法。...大家还记得它们的区别吗?可以看看上一篇文章的内容。同样我们可以利用切片方法获取类似前4列这样的数据df.iloc[:, :4]由于我们没有指定行名称,所有指标这一列也计算在内了。...接下来我们再看看获取指定行指定列的数据df.loc[2, "2022年"]是不是很简单,大家要注意的是,这里的2并不算是所以哦,而是行名称,只不过是用了padnas自动帮我创建的行名称。...通常是建议这样获取的,因为从代码的可读性上更容易知道我们获取的是哪一行哪一列。当然我们也可以通过索引和切片的方式获取,只是可读性上没有这么好。

63700
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    用过Excel,就会获取pandas数据框架中的值、行和列

    在Python中,数据存储在计算机内存中(即,用户不能直接看到),幸运的是pandas库提供了获取值、行和列的简单方法。 先准备一个数据框架,这样我们就有一些要处理的东西了。...df.columns 提供列(标题)名称的列表。 df.shape 显示数据框架的维度,在本例中为4行5列。 图3 使用pandas获取列 有几种方法可以在pandas中获取列。...要获取前三行,可以执行以下操作: 图8 使用pandas获取单元格值 要获取单个单元格值,我们需要使用行和列的交集。...记住这种表示法的一个更简单的方法是:df[列名]提供一列,然后添加另一个[行索引]将提供该列中的特定项。 假设我们想获取第2行Mary Jane所在的城市。...图11 试着获取第3行Harry Poter的国家的名字。 图12 要获得第2行和第4行,以及其中的用户姓名、性别和年龄列,可以将行和列作为两个列表传递到参数“row”和“column”位置。

    19.2K60

    pandas中的loc和iloc_pandas获取指定数据的行和列

    目录 1.loc方法 (1)读取第二行的值 (2)读取第二列的值 (3)同时读取某行某列 (4)读取DataFrame的某个区域 (5)根据条件读取 (6)也可以进行切片操作 2.iloc方法 (1)...读取第二行的值 (2)读取第二行的值 (3)同时读取某行某列 (4)进行切片操作 ---- loc:通过行、列的名称或标签来索引 iloc:通过行、列的索引位置来寻找数据 首先,我们先创建一个...[1,:] (2)读取第二列的值 # 读取第二列全部值 data2 = data.loc[ : ,"B"] 结果: (3)同时读取某行某列 # 读取第1行,第B列对应的值 data3...= data.loc[ 1, "B"] 结果: (4)读取DataFrame的某个区域 # 读取第1行到第3行,第B列到第D列这个区域内的值 data4 = data.loc[ 1:...,"D","E"]] 结果: 2.iloc方法 iloc方法是通过索引行、列的索引位置[index, columns]来寻找值 (1)读取第二行的值 # 读取第二行的值,与loc方法一样 data1

    10.1K21

    如何用 JS 一次获取 HTML 表单的所有字段 ?

    ---- 问:如何用 JS 一次获取 HTML 表单的所有字段 ?...用户单击“提交”按钮后,我们如何从此表单中获取所有数据? 有两种方法:一种是用黑科技,另一种是更清洁,也是最常用的方法。为了演示这种方法,我们先创建form.js,并引入文件中。...从事件 target 获取表单字段 首先,我们在表单上为Submit事件注册一个事件侦听器,以停止默认行为(它们将数据发送到后端)。...总结 要从HTML表单中获取所有字段,可以使用: this.elements或event.target.elements,只有在预先知道所有字段并且它们保持稳定的情况下,才能使用。...使用FormData构建具有所有字段的对象,之后可以转换,更新或将其发送到远程API。* ---- 原文:https://www.valentinog.com/bl...

    5K20

    SQL中的行转列和列转行

    其基本的思路是这样的: 在长表的数据组织结构中,同一uid对应了多行,即每门课程一条记录,对应一组分数,而在宽表中需要将其变成同一uid下仅对应一行 在长表中,仅有一列记录了课程成绩,但在宽表中则每门课作为一列记录成绩...由多行变一行,那么直觉想到的就是要groupby聚合;由一列变多列,那么就涉及到衍生提取; 既然要用groupby聚合,那么就涉及到将多门课的成绩汇总,但现在需要的不是所有成绩汇总,而仍然是各门课的独立成绩...其中,if(course='语文', score, NULL)语句实现了当且仅当课程为语文时取值为课程成绩,否则取值为空,这相当于衍生了一个新的列字段,且对于每个uid而言,其所有成绩就只有特定课程的结果非空...02 列转行:union 列转行是上述过程的逆过程,所以其思路也比较直观: 行记录由一行变为多行,列字段由多列变为单列; 一行变多行需要复制,列字段由多列变单列相当于是堆积的过程,其实也可以看做是复制;...一行变多行,那么复制的最直观实现当然是使用union,即分别针对每门课程提取一张衍生表,最后将所有课程的衍生表union到一起即可,其中需要注意字段的对齐 按照这一思路,给出SQL实现如下: SELECT

    7.2K30

    数据库的方向 - 行vs列

    如果需要获取或更新Alice的信息,那么某一时刻在内存中仅需存储关于Alice的单一页面。 ? 虽然我还没有提到,但是你可以想象,如果是基于列的数据库,所有的数据都是以列的形式存储的。...若此时你使用了列式的数据库,那就可以方便快捷的获取数据,因为每一列的信息都是存储在一起的。例如,所有的“2013 Total Order”信息都是存储在同一列中的。...可关键在于你使用列式数据库时,当你想要得到Alice的所有信息时,你又必须要读取大量的列(页面)来获取所有的数据。 正因为此,才有了这些天有关列式数据库的讨论。...一般而言,这些应用程序在使用行数据库时会有更好的表现,因为其工作负载趋向于单一实体的多个属性(存储在很多的列中)。由于这些应用程序都是基于行工作的,所以在使用时,从硬盘中获取的页面数量是最小的。...但当使用的是基于行的数据库时,就必须去访问每一行而获取对应的数据。 当然,事实并非如此。

    1.1K40

    SQL 中的行转列和列转行

    行转列,列转行是我们在开发过程中经常碰到的问题。行转列一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 的运算符PIVOT来实现。用传统的方法,比较好理解。...但是PIVOT 、UNPIVOT提供的语法比一系列复杂的SELECT…CASE 语句中所指定的语法更简单、更具可读性。下面我们通过几个简单的例子来介绍一下列转行、行转列问题。...[StudentScores] GROUP BY UserName 复制代码 查询结果如图所示,这样我们就能很清楚的了解每位学生所有的成绩了 接下来我们来看看第二个小列子。...这也是一个典型的行转列的例子。...上面两个列子基本上就是行转列的类型了。但是有个问题来了,上面是我为了说明弄的一个简单列子。

    5.5K20

    在VimVi中删除行、多行、范围、所有行及包含模式的行

    删除所有行 要删除所有行,您可以使用代表所有行的%符号或1,$范围: 1、按Esc键进入正常模式。 2、键入%d,然后按Enter键以删除所有行。...删除包含模式的行 基于特定模式删除多行的语法如下: :g//d 全局命令(g)告诉删除命令(d)删除所有包含的行。 要匹配与模式不匹配的行,请在模式之前添加感叹号(!): :g!...//d 模式可以是文字匹配或正则表达式,以下是一些示例: :g/foo/d-删除所有包含字符串“foo”的行,它还会删除“foo”嵌入较大字词(例如“football”)的行。 :g!.../foo/d-删除所有不包含字符串“foo”的行。 :g/^#/d-从Bash脚本中删除所有注释,模式^#表示每行以#开头。 :g/^$/d-删除所有空白行,模式^$匹配所有空行。...:g/^\s*$/d-删除所有空白行,与前面的命令不同,这还将删除具有零个或多个空格字符(\s*)的空白行。

    107.9K32
    领券