Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用pandas查找重复的名称?_Python_Group By_Pandas - Fatal编程技术网

Python 如何使用pandas查找重复的名称?

Python 如何使用pandas查找重复的名称?,python,group-by,pandas,Python,Group By,Pandas,我有一个pandas.DataFrame,其中一列名为name,包含字符串。 我想得到一个列中出现多次的名称列表。我该怎么做 我试过: funcs_groups = funcs.groupby(funcs.name) funcs_groups[(funcs_groups.count().name>1)] 但是它不会过滤出单例名称。如果您想查找具有重复名称的行(我们第一次看到时除外),可以尝试以下方法 In [16]: import pandas as pd In [17]: p1 = {

我有一个
pandas.DataFrame
,其中一列名为
name
,包含字符串。 我想得到一个列中出现多次的名称列表。我该怎么做

我试过:

funcs_groups = funcs.groupby(funcs.name)
funcs_groups[(funcs_groups.count().name>1)]

但是它不会过滤出单例名称。

如果您想查找具有重复名称的行(我们第一次看到时除外),可以尝试以下方法

In [16]: import pandas as pd
In [17]: p1 = {'name': 'willy', 'age': 10}
In [18]: p2 = {'name': 'willy', 'age': 11}
In [19]: p3 = {'name': 'zoe', 'age': 10}
In [20]: df = pd.DataFrame([p1, p2, p3])

In [21]: df
Out[21]: 
   age   name
0   10  willy
1   11  willy
2   10    zoe

In [22]: df.duplicated('name')
Out[22]: 
0    False
1     True
2    False

我有一个类似的问题,并找到了这个答案

我想这也行:

counts = df.groupby('name').size()
df2 = pd.DataFrame(counts, columns = ['size'])
df2 = df2[df2.size>1]
df2.index
将为您提供包含重复项的名称列表一行可以是:

x.set_index('name').index.get_duplicates()
(df.name).drop_duplicates()

索引包含查找重复项的方法,但列似乎没有类似的方法

另一个衬里可以是:

x.set_index('name').index.get_duplicates()
(df.name).drop_duplicates()
也会给你副本的数量

names = df.name.value_counts()
names[names > 1]

给出的大多数回答都演示了如何删除重复项,而不是查找重复项

下面将选择数据框中具有重复的
'name'
字段的每一行。请注意,这将查找每个实例,而不仅仅是第一次出现后的重复实例。
keep
参数接受可以排除第一次或最后一次出现的附加值

df[df.duplicated(['name'], keep=False)]

可以找到
duplicated()
的熊猫参考。

我比我更喜欢这个。最好使用df2['size']而不是df2.size,因为df2.size是一个内置函数。这正是我需要的。谢谢@idoda!这个“set_index()”是否会破坏名为x的原始数据帧的索引?我应该在数据帧的副本上运行此命令吗?请注意,
index.get\u duplicates()
是因为
v0.23