从列表中删除至少包含 x 个值的所有数据帧行

云母

我有一个带有句子行的数据框。现在我想从数据框中删除所有包含>= x (e.g. 2 or 3)字典/列表单词数量的句子,这些句子可能如下所示:dict = {"ice", "water", "rain"}

因此,例如,如果 x=2 我想删除这个句子,ice and water are similar to each other因为它有两个字典中的单词,而不是ice melts away when it's warm因为它字典中的单词少于两个。

我知道从我可以做的字典中删除包含任何单词的句子:

df[~df.Sentences.str.contains('|'.join(dict))]

所以总而言之,我正在寻找一种方法来从 Dataframe 中删除句子,其中至少包含来自字典/列表的 x 数量的值。

加布里埃尔

您可以将以下内容用于您的用例:

dict_test = {"ice", "water", "rain"}
df = pd.DataFrame({
    'sentences':["ice and water are similar to each other",
                 "ice melts away when it's"]
})


threshold = 2
df_grouper = pd.Series(0, index=df.index)
for word in dict_test:
    df_i = df['sentences'].str.count(word)
    df_grouper += df_i
    
result = df[df_grouper<threshold]
result

基本上,我们计算每个单词的出现次数并将它们汇总到 df_grouper 中。最后,我们只保留满足我们条件的行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

grep 所有至少包含 X 个单词的行

Excell从列表中删除至少两个分数。该列表中可能包含#N / A

删除A列在B列中没有至少X个唯一值的行,pyspark

如果其中一行中有 NA 值,则从列表中的所有数据帧中删除一行

根据现有数据帧中每两个连续行中的值创建数据帧

R:FUN(X [[i]],...)中的错误:仅在具有所有数字变量的数据帧上定义

R中需要所有数据行中的数据帧输出或只需要1个标头

获取基于数据帧列中特定值的所有数据帧

删除R中至少包含一个负值的所有行

filter()或subset()列表中存储的所有数据帧

对两列(x,y)中包含的所有数据对执行Spearman相关性?

Pyspark 数据帧重新分区将所有数据放在一个分区中

如何用另一个值替换列表中所有数据帧的第 n 列中的 0?

从包含至少3个元音的列表中查找单词

如果所有列均包含NA,但在行中删除NA值,但保留至少包含一个结果的行

查找列表中至少相距 x 的最小 n 个值

从列表中随机删除“ x”个元素

如何将数据帧一行中的所有值除以该行的第一个值

Python:删除列表中至少由同一列表中其他一个字符串包含的字符串

查看一个数据帧行中的所有值是否存在于另一个数据帧中

R:提取数据帧中另一列(y)至少具有+1的一列(x)的值

删除包含列1中ID且在Python数据框中的另一个特定列2上至少具有一个特定值的所有行

至少在“ x”列中包含非零值的最大行集

在数据框中查找必须包含列表中至少 2 个元素的行

Python:删除数据框的一列中的所有数据,并将最后一个值保留在第一行中

Python:从数据框的列中删除所有数据,但我们存储在第一行中的最后一个值除外

R中具有数据帧的每一行的最小值

根据另一个数据帧的条件值,从现有数据帧中创建一个新数据帧

循环查看 R 中的所有数据帧