Pandas: как указать типы при импорте файла csv
Вы можете использовать следующий базовый синтаксис, чтобы указать тип каждого столбца в DataFrame при импорте файла CSV в pandas:
df = pd. read_csv (' my_data.csv ', dtype = {' col1 ': str , ' col2 ': float , ' col3 ': int })
Аргумент dtype указывает тип данных, который должен иметь каждый столбец при импорте файла CSV в DataFrame pandas.
В следующем примере показано, как использовать этот синтаксис на практике.
Пример. Укажите типы при импорте файла CSV в Pandas.
Допустим, у нас есть следующий CSV-файл с именем Basketball_data.csv :
Если мы импортируем CSV-файл с помощью функции read_csv() , pandas попытается автоматически определить тип данных для каждого столбца:
import pandas as pd #import CSV file df = pd. read_csv (' basketball_data.csv ') #view resulting DataFrame print (df) At 22 10 0 B 14 9 1 C 29 6 2 D 30 2 3 E 22 9 4 F 31 10 #view data type of each column print ( df.dtypes ) team object int64 dots rebounds int64 dtype:object
Из результата мы видим, что столбцы DataFrame имеют следующие типы данных:
- команда : объект
- очки : int64
- отскакивает : int64
Однако мы можем использовать аргумент dtype в функции read_csv() , чтобы указать типы данных, которые должен иметь каждый столбец:
import pandas as pd #import CSV file and specify dtype of each column df = pd. read_csv (' basketball_data.csv ', dtype = {' team ': str , ' points ': float , ' rebounds ': int })) #view resulting DataFrame print (df) At 22 10 0 B 14 9 1 C 29 6 2 D 30 2 3 E 22 9 4 F 31 10 #view data type of each column print ( df.dtypes ) team object float64 points rebounds int32 dtype:object
Из результата мы видим, что столбцы DataFrame имеют следующие типы данных:
- команда : объект
- точки : float64
- отскакивает : int32
Эти типы данных соответствуют тем, которые мы указали с помощью аргумента dtype .
Обратите внимание, что в этом примере мы указали тип для каждого столбца в DataFrame.
Однако вы можете указать тип только для определенных столбцов и позволить pandas определить тип остальных столбцов.
Примечание . Полную документацию по функции pandas read_csv() можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:
Pandas: как пропускать строки при чтении файла CSV
Pandas: как добавить данные в существующий файл CSV
Pandas: как прочитать CSV-файл без заголовков
Pandas: как установить имена столбцов при импорте файла CSV