Panda's: hoe u een subtekenreeks van een hele kolom kunt verkrijgen


U kunt de volgende basissyntaxis gebruiken om de subtekenreeks van een volledige kolom in een Panda DataFrame op te halen:

 df[' some_substring '] = df[' string_column ']. str [1:4]

In dit specifieke voorbeeld wordt een nieuwe kolom gemaakt met de naam some_substring die de tekens van positie 1 tot en met 4 in string_column bevat.

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: haal een subtekenreeks van de hele kolom op in Pandas

Laten we zeggen dat we het volgende panda’s DataFrame hebben dat informatie bevat over verschillende basketbalteams:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Mavericks', 'Warriors', 'Rockets', 'Hornets', 'Lakers'],
                   ' points ': [120, 132, 108, 118, 106]})

#view DataFrame
print (df)

        team points
0 Mavericks 120
1 Warriors 132
2 Rockets 108
3 Hornets 118
4 Lakers 106

We kunnen de volgende syntaxis gebruiken om een nieuwe kolom te maken met de karakters uit de teamkolom tussen posities 1 en 4:

 #create column that extracts characters in positions 1 through 4 in team column
df[' team_substring '] = df[' team ']. str [1:4]

#view updated DataFrame
print (df)

        team points team_substring
0 Mavericks 120 ave
1 Warriors 132 arr
2 Rockets 108 ock
3 Hornets 118 orn
4 Lakers 106 ake

De nieuwe kolom met de naam team_substring bevat de tekens uit de teamkolom tussen posities 1 en 4.

Houd er rekening mee dat als u deze syntaxis probeert te gebruiken om een subtekenreeks uit een numerieke kolom te extraheren, u een foutmelding krijgt:

 #attempt to extract characters in positions 0 through 2 in points column
df[' points_substring '] = df[' points ']. str [:2]

AttributeError: Can only use .str accessor with string values!

In plaats daarvan moet u eerst de numerieke kolom naar een string converteren met astype(str) :

 #extract characters in positions 0 through 2 in points column
df[' points_substring '] = df[' points ']. astype (str). str [:2]

#view updated DataFrame
print (df)

        team points points_substring
0 Mavericks 120 12
1 Warriors 132 13
2 Rockets 108 10
3 Hornets 118 11
4 Lakers 106 10

Deze keer zijn we in staat om de tekens van positie 0 tot en met 2 met succes uit de puntkolom te extraheren, omdat we ze eerst naar een string hebben omgezet.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in panda’s kunt uitvoeren:

Panda’s: Controleer of de string meerdere substrings bevat
Panda’s: hoe u een string toevoegt aan elke waarde in een kolom
Panda’s: kolommen selecteren die een specifieke string bevatten

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert