Як вибрати стовпці за індексом у pandas dataframe
Часто ви можете вибрати стовпці в pandas DataFrame на основі їх значення індексу.
Якщо ви хочете вибрати стовпці на основі цілочисельного індексування, ви можете скористатися функцією .iloc .
Якщо ви хочете вибрати стовпці на основі індексування міток, ви можете скористатися функцією .loc .
Цей підручник надає приклад використання кожної з цих функцій на практиці.
Приклад 1: вибір стовпців на основі цілочисельного індексування
Наступний код показує, як створити pandas DataFrame і використовувати .iloc для вибору стовпця з цілим значенням індексу 3 :
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B'], ' points ': [11, 7, 8, 10, 13, 13], ' assists ': [5, 7, 7, 9, 12, 9], ' rebounds ': [11, 8, 10, 6, 6, 5]}) #view DataFrame df team points assists rebounds 0 A 11 5 11 1 To 7 7 8 2 to 8 7 10 3 B 10 9 6 4 B 13 12 6 5 B 13 9 5 #select column with index position 3 df. iloc [:, 3] 0 11 1 8 2 10 3 6 4 6 5 5 Name: rebounds, dtype: int64
Ми можемо використовувати аналогічний синтаксис для вибору кількох стовпців:
#select columns with index positions 1 and 3
df. iloc [:, [1, 3]]
rebound points
0 11 11
1 7 8
2 8 10
3 10 6
4 13 6
5 13 5
Або ми можемо вибрати всі стовпці в діапазоні:
#select columns with index positions in range 0 through 3
df. iloc [:, 0:3]
team points assists
0 to 11 5
1 To 7 7
2 to 8 7
3 B 10 9
4 B 13 12
5 B 13 9
Приклад 2: вибір стовпців на основі індексування міток
Наступний код показує, як створити pandas DataFrame і використовувати .loc для вибору стовпця з індексною міткою “bounces” :
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B'], ' points ': [11, 7, 8, 10, 13, 13], ' assists ': [5, 7, 7, 9, 12, 9], ' rebounds ': [11, 8, 10, 6, 6, 5]}) #view DataFrame df team points assists rebounds 0 A 11 5 11 1 To 7 7 8 2 to 8 7 10 3 B 10 9 6 4 B 13 12 6 5 B 13 9 5 #select column with index label 'rebounds' df. loc [:, ' rebounds '] 0 11 1 8 2 10 3 6 4 6 5 5 Name: rebounds, dtype: int64
Ми можемо використовувати аналогічний синтаксис для вибору кількох стовпців з різними мітками індексу:
#select the columns with index labels 'points' and 'rebounds'
df. loc [:,[' points ',' rebounds ']]
rebound points
0 11 11
1 7 8
2 8 10
3 10 6
4 13 6
5 13 5
Або ми можемо вибрати всі стовпці в діапазоні:
#select columns with index labels between 'team' and 'assists'
df. loc [:, ' team ':' assists ']
team points assists
0 to 11 5
1 To 7 7
2 to 8 7
3 B 10 9
4 B 13 12
5 B 13 9
За темою: Pandas loc проти iloc: у чому різниця?
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові операції в pandas:
Як групувати за індексом у Pandas DataFrame
Як вибрати рядки за індексом у Pandas DataFrame
Як отримати номери рядків у Pandas DataFrame
Як видалити стовпець індексу в Pandas DataFrame