其他分享
首页 > 其他分享> > 有一组列表套列表的数据,如果根据指定的多列判断去重?

有一组列表套列表的数据,如果根据指定的多列判断去重?

作者:互联网

排除index的干扰,比较其他列,如果数据重复则删除后面出现的。

In [1]: new_list_of_list = [
   ...:     ['8834769542251520',  0, '金跃跃', '9860000100001', '董事长、总经理'],
   ...:     ['8834769542251520',  1, '王晓慧', '9860000200001', '董事、副董事长、副总经理'],
   ...:     ['8834769542251520',  2, '戚海平', '9860000300001', '董事、财务总监、董事会秘书'],
   ...:     ['8834769542251520',  3, '陈榴生', '9860000400001', '董事'],
   ...:     ['8834769542251520',  4, '刘浩', '9860000500001', '董事'],
   ...:     ['8834769542251520',  5, '陈榴生', '9860000400001', '董事'],
   ...:     ['8834769542251520',  6, '刘浩', '9860000500001', '董事']
   ...:     ]

# 转换为pandas进行处理
In [2]: import pandas as pd

# pandas赋予列名
In [3]: df_new_list_of_list = pd.DataFrame(new_list_of_list, columns=["wenjian_id", "index", "name", "report_type", "duty"])

# 指定去重需要参考的列名
In [6]: df_new_list_of_list = df_new_list_of_list.drop_duplicates(subset=["wenjian_id", "name", "report_type", "duty"],keep="first")

In [7]: df_new_list_of_list
Out[7]:
         wenjian_id  index name    report_type           duty
0  8834769542251520      0  金跃跃  9860000100001        董事长、总经理
1  8834769542251520      1  王晓慧  9860000200001   董事、副董事长、副总经理
2  8834769542251520      2  戚海平  9860000300001  董事、财务总监、董事会秘书
3  8834769542251520      3  陈榴生  9860000400001             董事
4  8834769542251520      4   刘浩  9860000500001             董事

标签:董事,...,一组,df,list,列表,8834769542251520,new,多列
来源: https://www.cnblogs.com/everfight/p/drop_duplicates.html