我有一个包含列name
和subject
的df。我正在尝试仅为每个用户的第一
值行后的数学
值删除重复项
name subject
0 mason first
1 mason math
2 mason math
3 mason first
4 mason chem
5 mason math
6 mason math
7 paul first
8 paul chem
9 paul first
10 paul math
11 paul math
最终df
name subject
0 mason first
1 mason math
2 mason first
3 mason chem
4 mason math
5 paul first
6 paul chem
7 paul first
8 paul math
下面是一种方法,它使用一个条件来创建一个grouper的累积和列,并使用df.groupby.apply来创建每个组的条件:
c1 = df['subject'].eq("first").cumsum()
out = (df[df.groupby(["name",c1])['subject']
.apply(lambda x: x.duplicated()&x.eq("math") | x.ne('math'))])
print(out)
name subject
0 mason first
2 mason math
3 mason first
4 mason chem
6 mason math
7 paul first
8 paul chem
9 paul first
11 paul math
让我们假设我的数据frame如下所示: 我有一个的列表,我想从Dataframe中删除它们。该列表超过200个长度,因此多个筛选器太麻烦了。 是否可以通过传递的列表来进行筛选?
问题内容: 我有这张桌子,我想用SELECT来排除标记的行。一般规则是: 如果有两行或更多行,控件名与品牌名与组类型列相等 然后保留组名不是“ Keine Zuordnung”的行。 请给我一点帮助吗?谢谢! 问题答案: 这是一种方法: 它使用窗口函数来获取计数,然后使用a进行逻辑计算。
问题内容: 有没有一种方法可以对 field1 = x* 和 field2 = y的文档执行删除操作 ? *** 我看到了删除功能,但没有附带。如果使用事务,则存在get和delete,但get似乎不接受“ where”子句。 我希望我在文档中缺少一些内容。 谢谢 问题答案: 为此,您需要先创建所需的查询,然后才使用如下方法:
问题内容: 我有一个清单清单: 我想从列表中删除所有不满足条件的元素。 因此,如果我想删除与之相对应的元素。 所以list_1将被修改为 我该如何选择性地做到这一点? 问题答案: 您也可以根据需要使用该条件。
我有两张桌子——桌子1和桌子2。 它们有相同的列——Col1、Col2、Col3、Col4(整数)。 我将Table_2行插入Table_1。 表_1和表_2有一些基于Col1和Col2的重复值。我需要保留表_2的值,并删除表_1的重复值。 例如: 我尝试了以下方法-
问题内容: 我有以下数据框 基本上我可以如下过滤行 我可以如下所示删除/删除一行 但是我想根据条件删除一定数量的行,我该怎么做? 问题答案: 最好的是但需要反转条件-使所有值相等且更高,如下所示: 与功能相同: 另一种可能的解决方案是通过以下方法反转掩码: