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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *