计算重复项,然后将其丢弃

时间:2019-04-02 13:21:26

标签: python pandas

当我打印出此内容时:print(ids)

ids作为其内容的大列表打印; 所以,这很好。但我需要重复.....

1234
8903
7465
6654
1234 # example dup value
....

目标:如何遍历所有这些,然后在发现重复项时使用if语句执行某些操作?


更新;我正在尝试按照已回答的建议进行操作:(当前代码,最近的尝试)

def get_excel_data(self):
"""Places excel data into pandas dataframe"""

    excel_data = pandas.read_excel(self.find_file())
    columns = pandas.DataFrame(columns=excel_data.columns.tolist())
    excel_data = pandas.concat([excel_data, columns])

    for row in excel_data.itertuples():
        ids = excel_data["IDS"] # works, yes, list of values

        for i,id in enumerate(ids):
            print (i, id)
            if id in ids[:i]:
                print (id) # prints 0 nan, all i want is dup

并获得以下信息:

0 nan

1 个答案:

答案 0 :(得分:1)

您可以使用切片来删除当前项目并查看其是否仍然存在。

IDS='''1234 8903 7465 6654 1234'''

IDS = IDS.split()
print IDS

for i,id in enumerate(IDS):
    print i, id
    if id in IDS[:i]:
        print "duplicate", id

输出:

[sri@localhost 00]$ python test.py
['1234', '8903', '7465', '6654', '1234']
0 1234
1 8903
2 7465
3 6654
4 1234
duplicate 1234