我经常尝试执行以下操作,但在pandas中有一种最有效的即时解决方案:
我有以下示例pandas DataFrame,其中有两列,
我希望删除所有在
我有以下示例pandas DataFrame,其中有两列,
Name
和Age
:import pandas as pd
data = [['Alex',10],['Bob',12],['Barbara',25], ['Bob',72], ['Clarke',13], ['Clarke',13], ['Destiny', 45]]
df = pd.DataFrame(data,columns=['Name','Age'], dtype=float)
print(df)
Name Age
0 Alex 10.0
1 Bob 12.0
2 Barbara 25.0
3 Bob 72.0
4 Clarke 13.0
5 Clarke 13.0
6 Destiny 45.0
我希望删除所有在
Name
列中有重复值的行。在这个例子中的df
数据框中,有两个Bob
和两个Clarke
。因此,期望的输出如下: Name Age
0 Bob 12.0
1 Bob 72.0
2 Clarke 13.0
3 Clarke 13.0
我假设已经存在重置索引的方法。
一种选项是将所有唯一的Name
值存储在列表中,然后遍历数据框以检查重复行。这将非常低效。
是否有内置函数可以执行此任务?
pd.duplicated
。 - hilberts_drinking_problem