Hoe pandas dataframe-kolommen naar strings te converteren
Vaak wilt u misschien een of meer kolommen van een Panda’s DataFrame naar tekenreeksen converteren. Gelukkig is dit eenvoudig te doen met behulp van de ingebouwde functie astype(str) van Panda.
Deze tutorial toont verschillende voorbeelden van het gebruik van deze functie.
Voorbeeld 1: Converteer een enkele DataFrame-kolom naar een string
Stel dat we de volgende panda’s DataFrame hebben:
import pandas as pd #createDataFrame df = pd.DataFrame({'player': ['A', 'B', 'C', 'D', 'E'], 'points': [25, 20, 14, 16, 27], 'assists': [5, 7, 7, 8, 11]}) #view DataFrame df player points assists 0 to 25 5 1 B 20 7 2 C 14 7 3 D 16 8 4 E 27 11
We kunnen het gegevenstype van elke kolom identificeren met behulp van dtypes:
df. dtypes
player object
int64 dots
assists int64
dtype:object
We kunnen zien dat de kolom “speler” een string is, terwijl de andere twee kolommen “punten” en “passen” gehele getallen zijn.
We kunnen de kolom „punten“ als volgt naar een string converteren door eenvoudigweg astype(str) te gebruiken:
df['points'] = df['points'].astype( str )
We kunnen verifiëren dat deze kolom nu een string is die opnieuw dtypes gebruikt:
df. dtypes
player object
points object
assists int64
dtype:object
Voorbeeld 2: Converteer meerdere DataFrame-kolommen naar tekenreeksen
We kunnen beide kolommen “punten” en “assisten” naar strings converteren met behulp van de volgende syntaxis:
df[['points', 'assists']] = df[['points', 'assists']].astype( str )
En nogmaals, we kunnen controleren of dit strings zijn met behulp van dtypes:
df. dtypes
player object
points object
assists object
dtype:object
Voorbeeld 3: Converteer een volledig dataframe naar strings
Ten slotte kunnen we elke kolom van een DataFrame naar tekenreeksen converteren met behulp van de volgende syntaxis:
#convert every column to strings df = df.astype(str) #check data type of each column df. dtypes player object points object assists object dtype:object
U kunt de volledige documentatie van de functie astype() hier vinden.