У меня есть следующие df
,
pri_key doc_no c_code
[9001, 7620] 767 0090
[9001, 7620] 767 0090
[9002, 7530] 768 4100
[9002, 7530] 769 3000
[9003, 7730] 777 4000
[9003, 7730] 777 4000
[9003, 7730] 779 4912
Мне нужно хешировать pri_key
, затем groupby хэширует pri_key
и исключает группы, строки которых имеют одинаковую комбинацию doc_no
и c_code
из df
;
df["doc_group"] = df['pri_key'].apply(lambda ls: hash(tuple(sorted(ls))))
grouped = df.groupby("doc_group")
m = grouped[['doc_no', 'c_code']].apply(lambda x: len(np.unique(x.values)) > 1)
df = df.loc[m]
но это не сработало,
pandas.core.indexing.IndexingError: Unalignable boolean Series provided as indexer (index of the boolean Series and of the indexed object do not match
Мне интересно, как это решить.Таким образом, результат будет выглядеть так:
pri_key doc_no c_code
[9002, 7530] 768 4100
[9002, 7530] 769 3000
[9003, 7730] 777 4000
[9003, 7730] 777 4000
[9003, 7730] 779 4912