#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). На месте означает, что он обновит фрейм данных