Я имею дело с крайне неструктурированным отчетом .csv и борюсь с функцией drop_duplicates. Форма моего набора данных - 4084 строки и 39 столбцов.
Моя задача довольно проста: я хочу использовать drop_duplicates, чтобы он удалял каждую строку, в которой все 39 значений столбцов идентичны, но больше ничего.
Я пробовал следующий блок кода, где новый файл без дубликатов будет сохранен как "crm_pre_eidup", но я просто получаю TypeError: объект 'tuple' не вызывается ".
import pandas as pd
from csv import reader
crm_preprocessed = "CRM_kaikki_data_Pekka1.csv"
crm_pre_eidup = "CRM_kaikki_data_eidup.csv"
df = pd.read_csv(file_name, sep="\t or ,", engine='python')
# Notes:
# - the `subset=None` means that every column is used
# to determine if two rows are different; to change that specify
# the columns as an array
# - the `inplace=True` means that the data structure is changed and
# the duplicate rows are gone
df.drop_duplicates(subset=None, inplace=True)
# Write the results to a different file
#df=pd.DataFrame(list(reader(crm_pre_eidup)))
df.to_csv(crm_pre_eidup)
df.head()
Я совершенно уверен, что решение заключается просто в использовании: DataFrame.drop_duplicates(self, subset: Union[Hashable, Sequence[Hashable], NoneType] = None, keep: Union[str, bool] = 'first', inplace: bool = False, ignore_index: bool = False)