根据列中的条件对数据框中的行进行子集/过滤

     2023-02-27     19

关键词:

【中文标题】根据列中的条件对数据框中的行进行子集/过滤【英文标题】:Subset / filter rows in a data frame based on a condition in a column 【发布时间】:2011-03-27 14:41:57 【问题描述】:

给定一个数据框“foo”,我怎样才能从“foo”中只选择那些行,例如foo$location = "there"?

foo = data.frame(location = c("here", "there", "here", "there", "where"), x = 1:5, y = 6:10)
foo
#   location x  y
# 1     here 1  6
# 2    there 2  7
# 3     here 3  8
# 4    there 4  9
# 5    where 5 10

期望的结果,“条”:

#   location x y
# 2    there 2 7
# 4    there 4 9

【问题讨论】:

【参考方案1】:

以下是两种主要方法。我更喜欢它的可读性:

bar <- subset(foo, location == "there")

请注意,您可以使用&amp;| 将许多条件串在一起以创建复杂的子集。

第二个是索引方法。您可以使用数字或布尔切片对 R 中的行进行索引。 foo$location == "there" 返回与 foo 的行长度相同的 TF 值向量。您可以这样做以仅返回条件返回 true 的行。

foo[foo$location == "there", ]

【讨论】:

.@JoFrhwld - subset() 不是首选方法吗?详细讨论here 是否有一种简单的方法可以同时访问子集和 foo 减去子集?我想将我的数据拆分为 bar 和 (foo-bar)。显然,我可以用 != 重复上述内容,但是否有单行方式? 您好,我正在学习索引,我有一个问题。假设可以在此处提取一组特定的列,例如,foo[foo$location == '"there",5:8] 如果我尝试为这些列赋值会发生什么:foo[foo$location == "there",5:8] &lt;-FALSE 解释得很好!【参考方案2】:

只是为了扩展上面的答案,您还可以索引您的列,而不是指定列名,这也可能有用,具体取决于您在做什么。鉴于您的位置是第一个字段,它看起来像这样:

    bar <- foo[foo[ ,1] == "there", ]

这很有用,因为您可以对列值执行操作,例如遍历特定列(您也可以通过索引行号来执行相同操作)。

如果您需要对多个列执行某些操作,这也很有用,因为您可以指定一系列列:

    foo[foo[ ,c(1:N)], ]

或如您所料的特定列。

    foo[foo[ ,c(1,5,9)], ]

【讨论】:

如何根据列中的最新日期聚合 pandas 数据框中的行?

】如何根据列中的最新日期聚合pandas数据框中的行?【英文标题】:HowdoIaggregaterowsinapandasdataframeaccordingtothelatestdatesinacolumn?【发布时间】:2021-07-2203:00:25【问题描述】:我有一个包含材料、购买日期和购买价格的数据框。我想过... 查看详情

动态填充pyspark数据框中列中的行

...样的东西:IdABFlagCOL15400158111640114712276002891123812我有必须根据id进行分区的数据框,并且我有基于条件的标志(A【问题讨论】:你的逻辑有缺陷。您没有任何排序规则。如果我 查看详情

对文件中数据块内的行进行排序。根据列中的索引将一个块中的行移动到数据块中的不同位置

】对文件中数据块内的行进行排序。根据列中的索引将一个块中的行移动到数据块中的不同位置【英文标题】:Sortrowswithindatablocksinafile.Moverowsinoneblocktoadifferentlocationinthedatablockbasedonindexinacolumn【发布时间】:2021-09-2021:14:09【问题... 查看详情

C#:如何根据一列中的最大值按升序对二维数组中的行进行排序?

】C#:如何根据一列中的最大值按升序对二维数组中的行进行排序?【英文标题】:C#:HowcanIsortrowsin2Darrayinascendingorderbasedonhighestvalueinonecolumn?【发布时间】:2021-06-2403:03:54【问题描述】:所以我有一个二维数组中的数据表(第一... 查看详情

根据条件对 BigQuery 中的行进行重复数据删除

】根据条件对BigQuery中的行进行重复数据删除【英文标题】:DeduplicatingrowsinBigQuerybasedoncondition【发布时间】:2020-03-0213:04:14【问题描述】:我目前正在尝试对我的一张表在GoogleBigQuery中的行进行重复数据删除。基本上,我有一个... 查看详情

如何根据数据框中的值有条件地对数据进行分组?

】如何根据数据框中的值有条件地对数据进行分组?【英文标题】:Howtoconditionallygroupdatabasedonvaluesinadataframe?【发布时间】:2019-10-2713:13:31【问题描述】:我有以下有序数据框,它在文本文件中具有特定行的位置数据:indexposition... 查看详情

如何根据pyspark中的行和列条件过滤多行

】如何根据pyspark中的行和列条件过滤多行【英文标题】:Howtofiltermultiplerowsbasedonrowsandcolumnsconditioninpyspark【发布时间】:2022-01-1622:55:29【问题描述】:我想根据“值”列过滤多行。例如,我想从channel_name列中过滤velocityvalue&gt;... 查看详情

如何在不使用左连接的情况下根据“OR”条件对数据框进行子集化? [复制]

】如何在不使用左连接的情况下根据“OR”条件对数据框进行子集化?[复制]【英文标题】:Howtosubsetadataframebasedon"OR"conditionwithoutusingleftjoin?[duplicate]【发布时间】:2020-01-2505:27:59【问题描述】:如何根据两列中的“OR”条... 查看详情

找到根据矩阵中特定列中的行之间的绝对差排序的子集

】找到根据矩阵中特定列中的行之间的绝对差排序的子集【英文标题】:findthesubsetsortedaccordingtoabsolutedifferencebetweenrowsinspecificcolumnsinamatrix【发布时间】:2014-01-1308:47:42【问题描述】:请帮助我编写以下代码。set.seed(5)matrix<-matr... 查看详情

如何根据熊猫数据框中的字符串选择和子集行?

】如何根据熊猫数据框中的字符串选择和子集行?【英文标题】:Howtoselectandsubsetrowsbasedonstinginpandasdataframe?【发布时间】:2019-09-2212:31:37【问题描述】:我的数据集如下所示。我正在尝试对我的pandas数据框进行子集化,以便仅选... 查看详情

根据条件过滤数据框中的数据

】根据条件过滤数据框中的数据【英文标题】:Filteringdatainadataframebasedoncriteria【发布时间】:2012-12-2118:01:21【问题描述】:我是R新手,无法理解这个概念。假设我有一个名为“places”的表,其中包含3个列-城市、人口和夏季平... 查看详情

通过要删除的行的多个逻辑条件子集数据帧

】通过要删除的行的多个逻辑条件子集数据帧【英文标题】:Subsetdataframebymultiplelogicalconditionsofrowstoremove【发布时间】:2011-09-0819:25:15【问题描述】:我想通过指定将哪些行不(!)保留在新数据框中来对数据框进行子集化(过滤)... 查看详情

如何根据单独数据框中的列值的存在来过滤数据框的行并从第二个数据框中附加列

】如何根据单独数据框中的列值的存在来过滤数据框的行并从第二个数据框中附加列【英文标题】:Howtofiltertherowsofadataframebasedonthepresenceofthecolumnvaluesinaseparatedataframeandappendcolumnsfromtheseconddataframe【发布时间】:2021-06-2820:43:47【问... 查看详情

对 Spark 数据框中的行进行洗牌

】对Spark数据框中的行进行洗牌【英文标题】:ShufflingtherowsinaSparkdataframe【发布时间】:2019-06-2902:28:34【问题描述】:我正在尝试在数据框中创建一个新列,该列只是现有列的改组版本。我可以使用HowtoshuffletherowsinaSparkdataframe?中... 查看详情

根据列中的条件从数据框中选择值的最佳方法? [复制]

】根据列中的条件从数据框中选择值的最佳方法?[复制]【英文标题】:BestwaytoselectvaluesfromaDataframebasedoffofcriteriainacolumn?[duplicate]【发布时间】:2019-06-2119:37:10【问题描述】:所以我有一个包含FundID列的大数据框。本专栏中有许... 查看详情

Spark基于其他数据框中的列对数据框中的列进行重复数据删除

...【发布时间】:2016-06-0617:50:59【问题描述】:我正在尝试根据另一个数据框列中的值对Spark数据框列中的值进行重复数据删除。withColumn()似乎只能在单个数据框中工作,并且子查询要到版本2才能完全可用。我想我可以尝 查看详情

根据 3 到 4 个条件对数据库表中的行进行计数和分组查询

】根据3到4个条件对数据库表中的行进行计数和分组查询【英文标题】:Countandgroupbyqueryforcountingrowsindatabasetablebasedon3to4conditions【发布时间】:2009-01-1606:12:34【问题描述】:我正在进行市场调查,所有调查数据都保存在数据库中... 查看详情

Pandas:如何根据特定列上特定值的条件选择数据框中的行[重复]

】Pandas:如何根据特定列上特定值的条件选择数据框中的行[重复]【英文标题】:Pandas:howtoselectrowsindataframebasedonconditionofaspecificvalueonaspecificcolumn[duplicate]【发布时间】:2020-01-1010:40:04【问题描述】:我有一个给定的数据框,如下... 查看详情