Удалите дубликаты данных из csv и обучения (Keras, python, панды)

#python #pandas #machine-learning #keras #deep-learning

Вопрос:

Допустим, у нас есть набор данных в формате csv. Пусть данные будут репрезентативно следующими. Предположим, что в csv-файле, содержащем эти данные, имеется 1000 столбцов и 1000 строк.

Предположим, мы используем столбцы A и B при выполнении операций регрессии и прогнозирования в библиотеке Keras. Я хочу удалить дубликаты данных в A и оставить только один. Например, если будет 5 из 1, останется только 4. В то же время я хочу, чтобы все 4 данные, удаленные из дубликатов данных, были удалены из столбца B или любого столбца X.

Если мы будем думать об этом как о 2 разных сценариях,

Дубликаты данных в столбце A также удаляются из столбца B или любого другого столбца.

Другой сценарий заключается в удалении более одного, то есть повторяющихся данных в каждом столбце независимо друг от друга.

Процесс регрессии необходимо выполнить с помощью модуля keras с последними оставшимися данными.

Можете ли вы помочь с этим?

введите описание изображения здесь

Комментарии:

1. Не могли бы вы привести пример вывода, чтобы показать, чего вы ожидаете?

2. @kodkirurg Сценарий 1, A 1 2 3 4 5, B 2 4 5 1 3 6 8, C 1 6 3 4, D 2 6 9 0 1 3, E 8 6 1 2 3 5 7

3. @kodkirurg Сценарий 2, A 1 2 3 4 5, B 2 4 5 6 8, C 1 6 3 1 3, D 2 6 9 6 3, E 8 6 1 5 7, основная цель-удаление дублированных данных из набора данных для применения регрессии с керасом

4. Вы хотите сказать, что каждый столбец должен содержать только уникальные значения, и если не уникальное значение существует, мы удаляем всю строку?

5. pandas.pydata.org/pandas-docs/stable/reference/api/… вероятно, это то, что вы ищете. Я могу понять, что вы пытаетесь сделать, я, вероятно, смогу помочь вам с кодом.

Ответ №1:

Это проверит столбец A на наличие дубликатов, и если он обнаружит дубликат, то удалит всю эту строку.

 import pandas as pd

d = {'A': [1,2,3,2,1,4,5],
     'B': [2,4,5,1,3,6,8],
     'C': [1,6,3,4,6,1,3],
     'D': [2,6,9,0,1,6,3],
     'E': [8,6,1,2,3,5,7]
    }

df = pd.DataFrame(data=d)
df.drop_duplicates(subset='A')
 

выход:

введите описание изображения здесь

Комментарии:

1. Не совсем так, наверное, я неправильно объяснил. Данные, соответствующие данным, удаленным из столбца A, аналогичным образом удаляются из столбца B. Данные в A могут быть уникальными, но для B. такого требования нет.После удаления количество строк в A и B должно быть равным.

2. Тогда это правильно, B не обязательно должен быть уникальным, позвольте мне обновить вывод, чтобы его было легче увидеть.

3. спасибо, это то, что я искал. Ну, если бы я думал, что запускаю их из файла csv, импортируйте панд как pd d = pd.read_csv («данные.csv») df = pd.DataFrame(данные=d) df.drop_duplicates(подмножество= «A») печать(d) Как я могу распечатать данные после удаления? Я не смог запустить свой код, вы можете помочь?

4. Я думаю, вы можете забыть назначить data. df1 = df.drop_duplicates(подмножество=’A’). Затем выведите(df1). Или вы можете написать df.drop_duplicates(подмножество=’A, место=true) и распечатать(df). На месте означает, что он обновит фрейм данных