import pandas as pd
Fzytion_val = [13055, 13563, 13867, 14696, 15460, 15311, 15311, 15603, 15603, 15861, 16807, 16807, 16919, 16388, 16388, 15433, 15497, 15145, 15163, 15163, 15984, 15984, 16859, 16859, 18150, 18970, 18970, 19328, 19337, 18876]
vc = pd.Series(Fzytion_val)
df =vc[vc.duplicated(keep=False)].tolist()
我获得了重复的值
[15311, 15311, 15603, 15603, 16807, 16807, 16388, 16388, 15163, 15163, 15984, 15984, 16859, 16859, 18970, 18970]
,但我也想要此值的索引并将其保留在另一个列表中
[5, 6, 7, 8, 10, 11, 13, 14, 18, 19, 20, 21, 22, 23, 25, 26]
功能重复的返回仅一系列布尔值,那么熊猫中是否有另一种方法可以获取索引?
预先感谢
首先为过滤的Series
创建变量s
,然后将索引和值转换为列表:
s = vc[vc.duplicated(keep=False)]
L1 = s.index.tolist()
L2 = s.tolist()
替代方案(应该更快)首先转换为numpy array
,然后转换为list
S:
L1 = s.index.values.tolist()
L2 = s.values.tolist()
print (L1)
[5, 6, 7, 8, 10, 11, 13, 14, 18, 19, 20, 21, 22, 23, 25, 26]
print (L2)
[15311, 15311, 15603, 15603, 16807, 16807, 16388, 16388, 15163,
15163, 15984, 15984, 16859, 16859, 18970, 18970]