Gebruik van str.lower() in pandas
Wanneer je met pandas DataFrames werkt, wordt de methode str.lower() vaak toegepast op een hele kolom met strings om de tekstopmaak te standaardiseren. Laten we aan de hand van een voorbeeld bekijken hoe dit werkt.
Hier is een voorbeeld-dataset met de prijzen van verschillende fruitsoorten:
import pandas as pd
# Create a DataFrame
fruit_price = pd.DataFrame({
'name': [
'Apple', 'Banana', 'Orange', 'Watermelon',
'Plum', 'Blueberries', 'Dragonfruit', 'Kiwi'
],
'price_usd': [0.88, 0.23, 0.68, 3.98, 0.96, 5.16, 5.27, 1.12]
})
name price_usd
0 Apple 0.88
1 Banana 0.23
2 Orange 0.68
3 Watermelon 3.98
4 Plum 0.96
5 Blueberries 5.16
6 Dragonfruit 5.27
7 Kiwi 1.12
We kunnen de methode str.lower() toepassen om alle waarden in de kolom name naar kleine letters om te zetten. Zo doe je dat:
fruit_price['name'] = fruit_price['name'].str.lower()
print(fruit_price)
Dit is de output:
name price_usd
0 apple 0.88
1 banana 0.23
2 orange 0.68
3 watermelon 3.98
4 plum 0.96
5 blueberries 5.16
6 dragonfruit 5.27
7 kiwi 1.12
Zoals je ziet, zijn alle waarden in de kolom name nu gestandaardiseerd naar kleine letters.
Interactief voorbeeld: Hoofdletters wijzigen in een filmdataset
Laten we nog een voorbeeld bekijken. Stel dat we werken met een dataset van films. Elke rij in de dataset stelt een film voor, met kolommen voor de titel (movie_title), het genre (movie_genre) en de duur (movie_length). Dit is de oorspronkelijke dataset:
import pandas as pd
# Create a DataFrame
movies = pd.DataFrame({
'movie_title': [
'The Sumif All Fears', 'The Seaborn Identity', 'The Matrices',
"There's Something About Merging", 'Mamma Median!',
'Harry Plotter', 'Kung Fu Pandas', 'While You Were Sorting',
'10 Things I Hate About UNIX'
],
'movie_genre': [
'Action', 'Action', 'Action', 'Comedy', 'Comedy',
'Kids', 'Kids', 'Romance', 'Romance'
],
'movie_length': [124, 119, 136, 119, 108, 159, 92, 103, 97]
})
We willen de tekst in de kolom movie_title standaardiseren door alle titels naar kleine letters om te zetten. Zo kunnen we dit bereiken met de methode .str.lower():
# Change movie_title column to lowercase
movies['movie_title'] = movies['movie_title'].str.lower()
# Look at the change
print(movies)
Als je de bovenstaande code uitvoert, levert dat het volgende resultaat op:
movie_title movie_genre movie_length
0 the sumif all fears Action 124
1 the seaborn identity Action 119
2 the matrices Action 136
3 there's something about merging Comedy 119
4 mamma median! Comedy 108
5 harry plotter Kids 159
6 kung fu pandas Kids 92
7 while you were sorting Romance 103
8 10 things i hate about unix Romance 97
Door .str.lower() toe te passen, zorgen we ervoor dat de kolom movie_title consistent is opgemaakt, wat handig is voor taken zoals filteren, vergelijken of het uitvoeren van case-insensitive bewerkingen.
Wil je meer leren over het samenvoegen van pandas-dataframes in Python? Bekijk dan deze video uit onze cursus Python for Spreadsheet Users.
Deze content is afkomstig uit DataCamp's cursus Python for Spreadsheet Users van Chris Cardillo.
Kleine letters in Python — FAQ
Wat betekent lowercase in Python?
Dit is een schrijfwijze waarbij alle letters in een string kleine letters zijn. Het tegenovergestelde van lowercase is uppercase, waarbij alle letters hoofdletters zijn. Als er zowel kleine als hoofdletters in een string staan, noemen we dat een gemengde schrijfwijze.
Hoe maak je een string lowercase in Python?
Door een ingebouwde Python-stringmethode lower() te gebruiken op de string of een variabele die ernaar verwijst. Bijvoorbeeld, 'PythoN'.lower() geeft 'python' terug. Deze methode neemt geen argumenten aan.
Hoe maak je alle strings in een Python-lijst lowercase?
Met list comprehension. Bijvoorbeeld, [x.lower() for x in ['Python', 'R', 'SQL']] geeft ['python', 'r', 'sql'] terug. Belangrijk: alle items in de lijst moeten van het type string zijn, anders geeft het programma een foutmelding.
Hoe maak je alle strings in een Python Series lowercase?
Je kunt list comprehension ook op een Series toepassen ([x.lower() for x in pd.Series(['Python', 'R', 'SQL'])]), maar een betere aanpak is de methode Series.str.lower(). Bijvoorbeeld, pd.Series(['Python', 'R', 'SQL']).str.lower() geeft het volgende terug:
0 python
1 r
2 sql
dtype: object
Belangrijk: alle waarden van het Series-object moeten van het type string zijn en er mogen geen missende waarden voorkomen, anders geeft het programma een foutmelding.
Hoe controleer je of alle letters in een Python-string lowercase zijn?
Door een ingebouwde Python-stringmethode islower() te gebruiken op de string of een variabele die ernaar verwijst. Bijvoorbeeld, 'Python'.islower() geeft False terug omdat er één hoofdletter in de string staat, terwijl 'python'.islower() True teruggeeft.
Welk datatype geven de methoden lower() en islower() terug?
De methode lower() geeft een string terug, terwijl de methode islower() een boolean teruggeeft.
Werken de methoden lower() en islower() op getallen?
Nee. Als je deze methoden toepast op getallen (bijv. 1.lower()) of op andere datatypen die geen string zijn, krijg je een foutmelding.
Wat gebeurt er als we de methoden lower() of islower() toepassen op een string met cijfers, spaties of speciale tekens?
De methode lower() laat zulke tekens ongewijzigd, islower() negeert ze. Bijvoorbeeld, 'Python1'.lower() geeft 'python1' terug, 'Python & R'.lower() geeft 'python & r' terug, en 'python & r'.islower() geeft True terug. Dit werkt zelfs voor strings met emoji: 'I ❤️ Python'.lower() geeft 'i ❤️ python' terug.
Wat zijn de tegenovergestelde methoden van lower() en islower() om een string uppercase te maken?
upper() en isupper(). De syntaxis en use-cases van deze methoden zijn identiek aan lower() en islower(); ze werken ook alleen op het datatype string en negeren cijfers, spaties of speciale tekens binnen een string. Om alle strings in een Python Series naar hoofdletters om te zetten, gebruik je de methode Series.str.upper().

.lower()is een ingebouwde Python-methode die vooral wordt gebruikt voor het werken met strings. De methode.lower()neemt geen argumenten aan en geeft de verkleinde versie van de opgegeven string terug door elke hoofdletter om te zetten naar een kleine letter. Als er geen hoofdletters in de string staan, wordt de originele string teruggegeven.In de context van pandas is de methode
.str.lower()een gespecialiseerde functie die is ontworpen voor pandas Series (zoals kolommen in een DataFrame). Het past de.lower()-functionaliteit toe op elk stringelement in de Series en is daardoor een essentieel hulpmiddel om tekstdata te standaardiseren.Oefen hoofdletterconversie in Python met deze praktische oefening.