Pandy: jak uzyskać podciąg całej kolumny
Możesz użyć następującej podstawowej składni, aby uzyskać podciąg całej kolumny w ramce DataFrame pandy:
df[' some_substring '] = df[' string_column ']. str [1:4]
W tym konkretnym przykładzie tworzona jest nowa kolumna o nazwie Some_substring zawierająca znaki od pozycji od 1 do 4 w string_column .
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: Uzyskaj podciąg całej kolumny w Pandach
Załóżmy, że mamy następującą ramkę danych pand, która zawiera informacje o różnych drużynach koszykówki:
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
Możemy zastosować następującą składnię, aby utworzyć nową kolumnę zawierającą znaki z kolumny zespołu pomiędzy pozycjami 1 i 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
Nowa kolumna o nazwie team_substring zawiera znaki z kolumny zespołu pomiędzy pozycjami 1 i 4.
Pamiętaj, że jeśli spróbujesz użyć tej składni do wyodrębnienia podciągu z kolumny liczbowej, pojawi się błąd:
#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!
Zamiast tego musisz najpierw przekonwertować kolumnę liczbową na ciąg znaków, używając 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
Tym razem udało nam się z powodzeniem wyodrębnić z kolumny z kropką znaki z pozycji od 0 do 2, ponieważ najpierw przekonwertowaliśmy je na ciąg znaków.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w pandach:
Pandy: Sprawdź, czy ciąg zawiera wiele podciągów
Pandy: jak dodać ciąg do każdej wartości w kolumnie
Pandy: jak wybrać kolumny zawierające określony ciąg