Попрощайтесь с заданиями, выполняемыми вручную, с помощью этого скрипта Python!
Введение:
Правильные инструменты упрощают сложный анализ данных и сокращают процесс. Аналитики данных тратят значительную часть своего времени на классификацию столбцов данных по определенным типам в файлах CSV. Особенно сложно, когда существуют комбинации типов данных.
Задача:
Несогласованность типов данных — одна из причин, по которой файлы CSV могут создавать трудности при манипуляциях. Если вы не обрабатываете данные должным образом, есть вероятность, что анализ будет содержать ошибки, такие как неправильные расчеты и ошибки интерпретации.
Решение:
Используя кодирование Python, можно автоматизировать определение типа данных файла CSV. Экономия времени и усилий, повышение точности. Вот функция Python для определения типа столбца
""" Python version 3.8 pandas==1.2.1 """ def guess_column_types(file_path, delimiter=',', has_headers=True): try: # Read the CSV file using the specified delimiter and header settings df = pd.read_csv(file_path, sep=delimiter, header=0 if has_headers else None) # Initialize a dictionary to store column data types column_types = {} # Loop through columns and infer data types for column in df.columns: # sample_values = df[column].dropna().sample(min(5, len(df[column])), random_state=42) # Check for datetime format "YYYY-MM-DD HH:MM:SS" is_datetime = all(re.match(r'\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}', str(value)) for value in df[column]) # Check for date format "YYYY-MM-DD" is_date = all(re.match(r'\d{4}-\d{2}-\d{2}', str(value)) for value in df[column]) # Assign data type based on format detection if is_datetime: inferred_type = 'datetime64' elif is_date: inferred_type = 'date' else: inferred_type = pd.api.types.infer_dtype(df[column], skipna=True) column_types[column] = inferred_type return (True, column_types) # Return success and column types except pd.errors.ParserError: return (False, str(e)) # Return error message
Как это работает:
В Pandas файл CSV сначала читается сценарием Python. Каждый столбец в DataFrame проверяется сценарием на наличие определенных типов данных. В случае смешанных или противоречивых типов данных сценарий берет на себя ответственность, назначая наиболее подходящий тип данных каждому столбцу.
Попробуйте:
Скрипт Python доступен на GitHub. Используйте его в своих начинаниях, скачав его.
Вывод:
Быстрая и простая экономия времени и усилий достигается за счет автоматизации определения типов данных в файлах CSV с помощью Python.
Заключение Получение и интерпретацию результатов становится более управляемым, если сосредоточить на них свое внимание.