Panda's: typen opgeven bij het importeren van een excel-bestand
U kunt de volgende basissyntaxis gebruiken om het type van elke kolom in een DataFrame op te geven wanneer u een Excel-bestand in Panda’s importeert:
df = pd. read_excel (' my_data.xlsx ', dtype = {' col1 ': str , ' col2 ': float , ' col3 ': int })
Het argument dtype specificeert het gegevenstype dat elke kolom moet hebben bij het importeren van het Excel-bestand in een Panda DataFrame.
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: Geef typen op bij het importeren van een Excel-bestand in Pandas
Laten we zeggen dat we het volgende Excel-bestand hebben met de naam player_data.xlsx :
Als we het Excel-bestand importeren met behulp van de read_excel()- functie, zullen panda’s proberen het gegevenstype voor elke kolom automatisch te identificeren:
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
Uit het resultaat kunnen we zien dat de kolommen van het DataFrame de volgende gegevenstypen hebben:
- team :object
- punten : int64
- stuitert : int64
- assisteert : int64
We kunnen echter het argument dtype in de functie read_excel() gebruiken om de gegevenstypen op te geven die elke kolom zou moeten hebben:
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
Uit het resultaat kunnen we zien dat de kolommen van het DataFrame de volgende gegevenstypen hebben:
- team :object
- punten : float64
- stuitert : int32
- assisteert : float64
Deze gegevenstypen komen overeen met de gegevenstypen die we hebben opgegeven met behulp van het dtype- argument.
Houd er rekening mee dat we in dit voorbeeld het type voor elke kolom in het DataFrame hebben opgegeven.
U kunt er echter voor kiezen om het type alleen voor specifieke kolommen op te geven en panda’s het type voor de overige kolommen te laten afleiden.
Opmerking : u kunt de volledige documentatie van de panda’s read_excel() functie hier vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in panda’s kunt uitvoeren:
Panda’s: regels overslaan bij het lezen van een Excel-bestand
Panda’s: hoe u meerdere Excel-bladen combineert
Panda’s: DataFrames schrijven over meerdere Excel-bladen