可以说这是我的数据框
df = pd.DataFrame({ 'bio' : ['1', '1', '1', '4'],
'center' : ['one', 'one', 'two', 'three'],
'outcome' : ['f','t','f','f'] })
看起来像这样…
bio center outcome
0 1 one f
1 1 one t
2 1 two f
3 4 three f
我想删除第1行,因为它具有与第0行相同的生物和中心。我想保留第2行,因为它具有相同的生物但中心与第0行不同。
像这样的事情基于drop_duplicates输入结构是行不通的,但这是我正在尝试做的事情
df.drop_duplicates(subset = 'bio' & subset = 'center' )
有什么建议 ?
编辑:更改df有点适合正确答案的示例
您的语法错误。这是正确的方法:
df.drop_duplicates(subset=['bio', 'center', 'outcome'])
或者在这种特定情况下,只需:
df.drop_duplicates()
两者都返回以下内容:
bio center outcome
0 1 one f
2 1 two f
3 4 three f
查看有关语法详细信息的df.drop_duplicates
文档。subset
应该是列标签的序列。
问题内容: 假设我有两个这样的DataFrame: 我想创建一个新的DataFrame,它由在两个矩阵中具有匹配的“ S”和“ T”条目的行以及dfA的prob列和dfB的knstats列组成。结果应类似于以下内容,并且顺序相同很重要: 问题答案: 您可以合并它们,以便: 删除NA行:
我试图通过比较对象中的多个字段来从数组中找到重复的对象。 我想将对象的两个字段与同一数组的其他对象进行比较。 我想露营只是名称和 lname,忽略我的对象内的第 3 个字段 如何查找和删除输出如下的重复对象
问题内容: 我的df有3栏 我想删除df.col_1为1.0且df.col_2为0.0的行。因此,我会得到: 我试过了: 它给了我错误: 任何想法如何解决上述问题? 问题答案: drop是一种方法,您使用调用它,因此它为您提供了: 更改为(正常方法调用),它应该可以工作: 输出量
让我们假设我的数据frame如下所示: 我有一个的列表,我想从Dataframe中删除它们。该列表超过200个长度,因此多个筛选器太麻烦了。 是否可以通过传递的列表来进行筛选?
问题内容: 我有2个数据框,一个命名为USERS,另一个命名为EXCLUDE。他们两个都有一个名为“电子邮件”的字段。 基本上,我要删除EXERSUDE中包含电子邮件的USERS中的每一行。 我该怎么做? 问题答案: 您可以将和条件一起使用,通过以下方式反转布尔值: 另一个解决方案:
问题内容: 我使用以下方式列出了重复项: 现在,如何删除除一条消息以外的所有消息(我正在尝试删除重复项,以便可以在上应用唯一索引)。 问题答案: 使用和分配行号,以便删除重复对中除一个以外的所有行。