嗨,我有一个看起来像这样的框架
Date Col1 Col2 Col3 col4
0 1-4-2020 a ed kv sc sf ds n
1 1-4-2020 b hed sf ed df hed c
2 1-4-2020 c df xz sf sf ds n
3 2-4-2020 a ed df hed sf ds n
4 2-4-2020 b gv bb sc s ds c
5 2-4-2020 c ed sf sc hed ds n
我想做的是过滤具有多个条件的行。如果:
所以结果会像这样:
Date Col1 Col2 Col3 col4
1 1-4-2020 b hed sf ed df hed c
3 2-4-2020 a ed df hed sf djs n
5 2-4-2020 c ed sf ssc hed djs n
我希望它是明确的更新
在列4的情况下
Date Col1 Col2 Col3 col4
0 1-4-2020 a ed kv sc sf ds n
1 1-4-2020 b hed sf ed df hed c
2 1-4-2020 c df xz sf sf ds n
3 1-4-2020 d df xdg sf sf hed y
4 2-4-2020 a ed df hed sf ds n
5 2-4-2020 b gv bb sc s ds c
6 2-4-2020 c ed sf sc hed ds n
7 2-4-2020 d df xgfgf gf gfd null
如果Col4中的值在数据帧中仅出现一次,如第3行(提示没有下一行可比较),则函数应返回该行。
Date Col1 Col2 Col3 col4
1 1-4-2020 b hed sf ed df hed c
3 1-4-2020 d df xdg sf sf hed y
4 2-4-2020 a ed df hed sf ds n
6 2-4-2020 c ed sf sc hed ds n
首先通过使用GroupBy.size
的GroupBy.transform,通过相同的Col1
和Col4
获取行计数,然后使用Col3
连接列Col2
:
count = df.groupby(['Col1','col4'])['col4'].transform('size')
s = (df['Col2'] + ' ' + df['Col3'])
您可以验证输出:
print (df.assign(count=count, both=s))
Date Col1 Col2 Col3 col4 count both
0 1-4-2020 a ed kv sc sf ds n 2 ed kv sc sf ds
1 1-4-2020 b hed sf ed df hed c 2 hed sf ed df hed
2 1-4-2020 c df xz sf sf ds n 2 df xz sf sf ds
3 2-4-2020 a ed df hed sf ds n 2 ed df hed sf ds
4 2-4-2020 b gv bb sc s ds c 2 gv bb sc s ds
5 2-4-2020 c ed gf sc hed ds n 2 ed gf sc hed ds
最后一个过滤器通过<code>布尔索引</code>如果计数<code>2</code<通过<code<Series.eq</code〕,则<code>Series.str.contains</code}用于测试子字符串,并通过<code}将掩码链接在一起
df = df[count.eq(2) & s.str.contains('hed') & s.str.contains('sf')]
print (df)
Date Col1 Col2 Col3 col4
1 1-4-2020 b hed sf ed df hed c
3 2-4-2020 a ed df hed sf ds n
问题内容: 我想像这样做一个ElasticSearch查询: 我试图像这样在NEST中实现它: 但这给了我这样的查询,其中的过滤器包装在 布尔值中 : 我应该如何更改我的NEST代码以提供正确的查询?是否必须将我的条款添加到 QueryContainer之外的 其他项目中? 问题答案: 如果要检查条件过滤器,可以在查询之前创建过滤器列表,如下所示: 如果在进行过滤器查询之前不需要检查任何条件,则可
本文向大家介绍对python字典过滤条件的实例详解,包括了对python字典过滤条件的实例详解的使用技巧和注意事项,需要的朋友参考一下 如下所示: output: 以上这篇对python字典过滤条件的实例详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
我有以下数据框: 我想根据以下条件对其进行过滤: 创建的角度=范围(87-92) GDT 1和GDT 2之间的距离 到目前为止我尝试了这个(最后一个方法): 此代码的输出是一个没有错误的空数据库。
问题内容: 我正在尝试建立一个查询,该查询将找到所有用户文档(docType =用户),然后根据许多过滤器对其进行过滤。例如位置,性别,年龄等。过滤器是根据我正在构建的搜索功能上的用户输入来添加/删除的。 以下没有结果: 以下返回结果: 后者虽然返回结果,但从长远来看是行不通的,因为我可能想为年龄,性别等添加一个额外的过滤器,而且我似乎无法添加多个字段。如果我删除位置过滤器,则第一个查询有效。 问
我想翻译方法做完全相同的,但使用流和过滤,如果必要的话 我正在学习使用流,所以我不知道如何实现这一点。到目前为止,我已经做了以下工作: 很明显,我得到了一个字符串列表,但是我不知道如何将它减少到只有一个元素(该列表没有超过一个元素),如果没有找到元素,就会得到null。 此外,我得到了,我应该返回相应的TestState,而不是它的。
问题内容: 我正在尝试使用Pandas在几个条件下进行布尔索引。我原来的DataFrame称为。如果执行以下操作,将得到预期的结果: 但是,如果我这样做(我认为应该是等效的),则不会返回任何行: 知道导致差异的原因是什么? 问题答案: 使用是因为运算符优先级: 或者,在单独的行上创建条件: 样品 :
问题内容: 我有一个像这样的数组: 现在,我想按某种条件过滤该数组,只保留值等于2的元素,并删除值不等于2的所有元素。 所以我的预期结果数组将是: 注意:我想保留原始数组中的键。 如何使用PHP做到这一点?有内置功能吗? 问题答案:
问题内容: 对于似乎很简单的问题,我找不到解决方案。假设有2种实体类: 如何创建一个标准查询以返回包含至少一个满足给定条件(例如b.text =’condition’)的B实体的所有A? 问题答案: 我认为此链接可能很有用:http : //mikedesjardins.net/2008/09/22/hibernate-criteria- subqueries-exists/ 它包含以下有关如何创