我们可能更喜欢在分析期间使用行索引或列索引,而不是使用它们的数字,因此,我们可以借助grep函数获得它们。在处理大型数据集时,这很有用,因为大型数据集具有大量的行和列,因此更容易用索引而不是数字来调用它们。具体来说,需要列索引,另一方面,仅在特殊情况下(例如分析特定情况)才需要行。
请看以下数据帧-
> set.seed(1) > x1<-rnorm(50,0.5) > x2<-rnorm(50,0.8) > x3<-rpois(50,2) > x4<-rpois(50,5) > x5<-runif(50,5,10) > df<-data.frame(x1,x2,x3,x4,x5) > head(df,20) x1 x2 x3 x4 x5 1 -0.1264538 1.19810588 1 6 8.368561 2 0.6836433 0.18797361 1 9 5.474289 3 -0.3356286 1.14111969 2 5 7.462981 4 2.0952808 -0.32936310 1 5 7.307759 5 0.8295078 2.23302370 1 5 6.876083 6 -0.3204684 2.78039990 2 2 9.955496 7 0.9874291 0.43277852 2 3 5.881754 8 1.2383247 -0.24413463 0 5 9.067176 9 1.0757814 1.36971963 1 4 5.342233 10 0.1946116 0.66494540 3 9 7.002249 11 2.0117812 3.20161776 5 5 5.705722 12 0.8898432 0.76076000 0 4 5.966549 13 -0.1212406 1.48973936 3 4 9.206759 14 -1.7146999 0.82800216 5 7 8.599570 15 1.6249309 0.05672679 3 6 6.336060 16 0.4550664 0.98879230 1 3 7.475008 17 0.4838097 -1.00495863 2 2 5.415569 18 1.4438362 2.26555486 5 6 6.769421 19 1.3212212 0.95325334 5 6 9.846044 20 1.0939013 2.97261167 1 3 8.123571
根据列的名称查找索引-
> grep("x3", colnames(df)) [1] 3 > grep("x5", colnames(df)) [1] 5 > grep("x1", colnames(df)) [1] 1
让我们更改行名,因为它们的编号从1到50,所以行索引将与它们的名称相同。我们将它们更改为50到1,如下所示-
> rownames(df)<-50:1 > head(df,20) x1 x2 x3 x4 x5 50 -0.1264538 1.19810588 1 6 8.368561 49 0.6836433 0.18797361 1 9 5.474289 48 -0.3356286 1.14111969 2 5 7.462981 47 2.0952808 -0.32936310 1 5 7.307759 46 0.8295078 2.23302370 1 5 6.876083 45 -0.3204684 2.78039990 2 2 9.955496 44 0.9874291 0.43277852 2 3 5.881754 43 1.2383247 -0.24413463 0 5 9.067176 42 1.0757814 1.36971963 1 4 5.342233 41 0.1946116 0.66494540 3 9 7.002249 40 2.0117812 3.20161776 5 5 5.705722 39 0.8898432 0.76076000 0 4 5.966549 38 -0.1212406 1.48973936 3 4 9.206759 37 -1.7146999 0.82800216 5 7 8.599570 36 1.6249309 0.05672679 3 6 6.336060 35 0.4550664 0.98879230 1 3 7.475008 34 0.4838097 -1.00495863 2 2 5.415569 33 1.4438362 2.26555486 5 6 6.769421 32 1.3212212 0.95325334 5 6 9.846044 31 1.0939013 2.97261167 1 3 8.123571
现在让我们找到包含数字5的行名称-
> grep(5, rownames(df)) [1] 1 6 16 26 36 46
查找第十行的行名-
> grep(10, rownames(df)) [1] 41
查找包含数字4的行名称-
> grep(4, rownames(df)) [1] 2 3 4 5 6 7 8 9 10 11 17 27 37 47
本文向大家介绍如何基于R数据帧列的值获取行索引?,包括了如何基于R数据帧列的值获取行索引?的使用技巧和注意事项,需要的朋友参考一下 R数据帧的一行可以在列中具有多种方式,并且这些值可以是数字,逻辑,字符串等。基于行号查找值很容易,但是基于值查找行号却很不同。如果要在特定列中查找特定值的行号,则可以提取整行,这似乎是一种更好的方法,可以使用单个方括号来获取行的子集。 示例 请看以下数据帧- 输出结果
如何在JavaFX的网格窗格中获取列索引和行索引。请参见下面的代码 当鼠标在text1上输入时,我想获取GridPane的列索引和行索引 请让我知道。
当跨多个索引进行搜索时,elasticsearch的“多重匹配”查询将返回搜索结果中的索引名称。 响应包含字段,该字段告诉结果来自的索引 spring-data-elasticsearch中用于的类是和具有字段、、用于获取与elasticsearch查询相似的数据。但它不包含用于存储字段信息的相关字段。 还支持吗?我需要根据哪个客户端应用程序将生成一些URL发送搜索命中类型(name)。 这是我使
在R中,当需要根据可以执行的列名称检索列索引时 有没有一种方法可以对熊猫数据帧执行相同的操作?
如何在python熊猫中获得索引列名称?下面是一个示例数据框: 我想做的是获取/设置数据框索引标题。这是我所尝试的: 有人知道怎么做吗?
问题内容: 在R中,当您需要根据列名检索列索引时,可以执行此操作 有没有办法对熊猫数据框做同样的事情? 问题答案: 当然可以使用: 虽然老实说,我自己通常不需要这个。通常,通过名称进行访问可以实现我想要的功能(,或也许),尽管我可以肯定地看到一些情况下需要索引号的情况。