Я имею дело с очень большим кадром данных, и я использую pandas
для проведения анализа. Кадр данных структурирована следующим образомКак эффективно удалить повторяющиеся строки из DataFrame
import pandas as pd
df = pd.read_csv("data.csv")
df.head()
Source Target Weight
0 0 25846 1
1 0 1916 1
2 25846 0 1
3 0 4748 1
4 0 16856 1
Вопрос заключается в том, что я хочу, чтобы удалить все «дубликаты». В том смысле, что если у меня уже есть строка, содержащая Source
и Target
, я не хочу, чтобы эта информация повторялась в другой строке. Например, строки 0 и 2 являются «дублирующими» в этом смысле, и только один из них должен быть сохранен.
Простой способ избавиться от всех «дублей» является
for index, row in df.iterrows():
df = df[~((df.Source==row.Target)&(df.Target==row.Source))]
Однако этот подход ужасно медленно, так как мой кадр данных имеет около 3 миллионов строк. Как вы думаете, есть ли лучший способ сделать это?
спасибо, что было абсолютно приветливым! – Brian