matched_rows =df[~df['设备IMEI'].isin(b_df['设备IMEI'])]
这段代码的作用是从DataFrame df 中筛选出不在另一个DataFrame b_df 的"设备IMEI"列中的值。 df['设备IMEI'] 表示在DataFrame df 中获取"设备IMEI"列的序列。b_df['设备IMEI'] 表示在DataFrame b_df 中获取"设备IMEI"列的序列。 ~df['设备IMEI'].isin(b_df['设备IMEI']) 通过.isin()方法将两个序列进行比较,返回一个布尔值的Series对象。该Series对象的每个元素表示对应位置的值是否存在于b_df的"设备IMEI"列中,~运算符用于对这个布尔值的Series进行取反操作。 最终,通过这个布尔值的Series来筛选DataFrame df,只保留那些"设备IMEI"列的值不在b_df的"设备IMEI"列中的行。
isin() 是一个pandas.Series和pandas.DataFrame的方法,用于检查每个元素是否属于给定的列表或数组。 例如,对于一个Series对象 s,可以使用s.isin(['A', 'B', 'C'])来检查每个元素是否属于列表['A', 'B', 'C']。返回值是一个布尔类型的Series对象,其中的每个元素表示原始Series对象中对应的元素是否属于指定列表。 同样地,对于一个DataFrame对象 df,可以使用df.isin(['A', 'B', 'C'])来检查每个元素是否属于指定列表,返回值是一个布尔类型的DataFrame对象。 isin()方法还可以接受一个数组作为参数,而不仅仅是列表。在这种情况下,如果元素属于数组,则返回True,否则返回False。 isin()方法通常用于数据筛选和子集选择等操作中。
标签:df,Series,DataFrame,IMEI,isin,pandas From: https://www.cnblogs.com/xujunhui/p/18001648