python DataFrame 取差集实例
需求:给定一个dataframe和一个list,list中存放的是dataframe中某一列的元素,删除dataframe中与list元素重复的行(即取差集)。
在网上搜了一圈,好像没看到DataFrame中取差集的方式,所以自己写了一个。方法比较繁琐,如果有更简便的方式,请留言。
importpandasaspd data=[[1,2,3],[2,3,4],[3,4,5],[4,5,6]] #创建dataframe,包含a,b,c三列 df=pd.DataFrame(data,columns=['a','b','c']) print(df) #a列中待删除的元素 a_to_drop=[1,3] #找到待删除元素所在的位置,返回的是trueorfalse序列 flag=df['a'].isin(a_to_drop) #由于我们要取差集,因此对上述序列取反 diff_flag=[notfforfinflag] #res为我们所需要的差集 res=df[diff_flag] #重置index res.index=[iforiinrange(len(res))] print(res)
以上这篇pythonDataFrame取差集实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。