Pandas: как указать типы при импорте файла excel
Вы можете использовать следующий базовый синтаксис, чтобы указать тип каждого столбца в DataFrame при импорте файла Excel в pandas:
df = pd. read_excel (' my_data.xlsx ', dtype = {' col1 ': str , ' col2 ': float , ' col3 ': int })
Аргумент dtype указывает тип данных, который должен иметь каждый столбец при импорте файла Excel в DataFrame pandas.
В следующем примере показано, как использовать этот синтаксис на практике.
Пример. Указание типов при импорте файла Excel в Pandas
Допустим, у нас есть следующий файл Excel с именем player_data.xlsx :
Если мы импортируем файл Excel с помощью функции read_excel() , pandas попытается автоматически определить тип данных для каждого столбца:
import pandas as pd #import Excel file df = pd. read_excel (' player_data.xlsx ') #view resulting DataFrame print (df) team points rebound assists 0 to 24 8 5 1 B 20 12 3 2 C 15 4 7 3 D 19 4 8 4 E 32 6 8 5 F 13 7 9 #view data type of each column print ( df.dtypes ) team object int64 dots rebounds int64 assists int64 dtype:object
Из результата мы видим, что столбцы DataFrame имеют следующие типы данных:
- команда : объект
- очки : int64
- отскакивает : int64
- помогает : int64
Однако мы можем использовать аргумент dtype в функции read_excel() , чтобы указать типы данных, которые должен иметь каждый столбец:
import pandas as pd #import Excel file and specify dtypes of columns df = pd. read_excel (' player_data.xlsx ', dtype = {' team ': str , ' points ': float , ' rebounds ': int , ' assists ': float }) #view resulting DataFrame print (df) team points rebound assists 0 A 24.0 8 5.0 1 B 20.0 12 3.0 2 C 15.0 4 7.0 3 D 19.0 4 8.0 4 E 32.0 6 8.0 5 F 13.0 7 9.0 #view data type of each column print ( df.dtypes ) team object float64 points rebounds int32 assist float64 dtype:object
Из результата мы видим, что столбцы DataFrame имеют следующие типы данных:
- команда : объект
- точки : float64
- отскакивает : int32
- помогает : float64
Эти типы данных соответствуют тем, которые мы указали с помощью аргумента dtype .
Обратите внимание, что в этом примере мы указали тип для каждого столбца в DataFrame.
Однако вы можете указать тип только для определенных столбцов и позволить pandas определить тип остальных столбцов.
Примечание . Полную документацию по функции pandas read_excel() можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:
Pandas: как пропускать строки при чтении файла Excel
Pandas: как объединить несколько листов Excel
Pandas: как писать DataFrames на нескольких листах Excel