Как удалить минимально возможное количество строк в наборе данных из двух столбцов, чтобы каждый столбец имел уникальныеPython

Программы на Python
Anonymous
Как удалить минимально возможное количество строк в наборе данных из двух столбцов, чтобы каждый столбец имел уникальные

Сообщение Anonymous »

Я использую фрейм данных pandas, я думал об использовании максимального потока в networkx, но думаю, что это немного излишество, есть ли альтернатива?
Я пытался использовать
import pandas as pd

# Create a sample DataFrame
df = pd.DataFrame({'column1': [1, 2, 3, 1, 3, 4],
'column2': [5, 6, 7, 8, 9, 7]})

print("Original DataFrame:")
print(df)

# Function to remove the lowest possible number of rows
def remove_duplicate_rows(df):
# Get the unique values in each column
df.drop_duplicates(subset='column1', inplace=True)

df.drop_duplicates(subset='column2', inplace=True)

# Apply the mask to the DataFrame and return the result
return df

# Apply the function to the DataFrame
result = remove_duplicate_rows(df)

print("\nResulting DataFrame:")
print(result)

Выход:
Original DataFrame:
column1 column2
0 1 5
1 2 6
2 3 7
3 1 8
4 3 9
5 4 7

Resulting DataFrame:
column1 column2
0 1 5
1 2 6
2 3 7

При удалении слишком большого количества строк допустимый результат может быть следующим:
Resulting DataFrame:
column1 column2
0 1 5
1 2 6
2 3 9
3 4 7


Подробнее здесь: https://stackoverflow.com/questions/783 ... wo-columns

Вернуться в «Python»