当前位置: 首页 > 知识库问答 >
问题:

如何删除熊猫数据帧中列的重复值的行?

别宏盛
2023-03-14

我有一个熊猫数据框,看起来像这样。

  Column1  Column2 Column3
0     cat        1       C
1     dog        1       A
2     cat        1       B

我想确定猫和蝙蝠是重复的相同值,因此想删除一条记录,只保留第一条记录。所得到的数据帧应该只具有。

  Column1  Column2 Column3
0     cat        1       C
1     dog        1       A

共有3个答案

湛鸿
2023-03-14

Dataframedrop\u duplicates()方法中,您可以提供一系列列名来消除数据中的重复记录。

下面的"测试"代码执行相同的操作:

import pandas as pd

df = pd.DataFrame()
df.insert(loc=0,column='Column1',value=['cat',     'toy',    'cat'])
df.insert(loc=1,column='Column2',value=['bat',    'flower',  'bat'])
df.insert(loc=2,column='Column3',value=['xyz',     'abc',    'lmn'])

df = df.drop_duplicates(subset=['Column1','Column2'],keep='first')
print(df)

在子集参数的内部,也可以插入其他列名,默认情况下,它将考虑数据的所有列,并且可以提供如下值:

  • first:删除重复项,除了第一次出现。
  • last:删除重复项,除了最后出现的。
  • 假:删除所有重复。
禄和宜
2023-03-14
import pandas as pd

df = pd.DataFrame({"Column1":["cat", "dog", "cat"],
                    "Column2":[1,1,1],
                    "Column3":["C","A","B"]})

df = df.drop_duplicates(subset=['Column1'], keep='first')
print(df)
罗翔
2023-03-14

使用drop_duplicates子集一起使用列列表来检查重复项,并且保持='first'保持重复项的第一个。

如果dataframe为:

df = pd.DataFrame({'Column1': ["'cat'", "'toy'", "'cat'"],
                   'Column2': ["'bat'", "'flower'", "'bat'"],
                   'Column3': ["'xyz'", "'abc'", "'lmn'"]})
print(df)

结果:

  Column1   Column2 Column3
0   'cat'     'bat'   'xyz'
1   'toy'  'flower'   'abc'
2   'cat'     'bat'   'lmn'

然后:

result_df = df.drop_duplicates(subset=['Column1', 'Column2'], keep='first')
print(result_df)

结果:

  Column1   Column2 Column3
0   'cat'     'bat'   'xyz'
1   'toy'  'flower'   'abc'
 类似资料:
  • 我有以下数据帧: 我需要删除等于的行。最有效的方法是什么?

  • 问题内容: 我有一个看起来像这样的熊猫数据框。 我想确定cat和bat是重复的相同值,因此想删除一个记录并仅保留第一条记录。结果数据帧应该只有一个。 问题答案: 使用具有与列的列表上检查重复和保持第一重复的。 如果是: 结果: 然后: 结果:

  • 我有这样一个数据帧: 我如何摆脱第四行,因为它有sq_resid的最大值?注意:最大值将从一个数据集更改到另一个数据集,所以仅仅删除第4行是不够的。 我已经尝试了一些方法,比如我可以删除像下面这样留下数据帧的最大值,但是无法删除整行。

  • 我试图通过保持行之间的一致性来随机化我的行,但会混淆行的顺序,从而随机化从属变量。我有以下数据帧: 并将行随机化: 然后执行重置索引,如 期望输出:

  • 我有两个数据帧,其中一列名为。数据帧是从两名参与者同时录制的两个视频中提取的数据。由于跟踪失败,数据缺少一些帧(每个视频不同)。我想根据帧整数值取一个交点。 这里发布了一个类似的问题:熊猫——基于列条目的两个数据帧的交集,但接受的答案是连接,而不是交集。 已删除的行不在和 (我可以重置索引后,我完成处理) 我想首先得到两个数据帧的帧列的交集: 错误: 在获得两个数据帧中的帧索引后,我考虑执行以下操

  • 我想在我的数据的每一列中找到< code>NaN的数目。