Pandas dataframe'de dizine göre sütunlar nasıl seçilir
Genellikle pandaların DataFrame’indeki sütunları dizin değerlerine göre seçmek isteyebilirsiniz.
Tamsayı indekslemeye dayalı sütunları seçmek istiyorsanız .iloc işlevini kullanabilirsiniz.
Sütunları etiket indekslemeye göre seçmek istiyorsanız .loc işlevini kullanabilirsiniz.
Bu eğitimde, bu işlevlerin her birinin pratikte nasıl kullanılacağına dair bir örnek verilmektedir.
Örnek 1: Tamsayı Dizine Eklemeye Göre Sütunları Seçin
Aşağıdaki kod, bir pandas DataFrame’in nasıl oluşturulacağını ve tamsayı dizin değeri 3 olan sütunu seçmek için .iloc’un nasıl kullanılacağını gösterir:
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
Birden çok sütun seçmek için benzer sözdizimini kullanabiliriz:
#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
Veya bir aralıktaki tüm sütunları seçebiliriz:
#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
Örnek 2: Sütunları Etiket Dizinine Göre Seçme
Aşağıdaki kod, bir pandas DataFrame’in nasıl oluşturulacağını ve “bounces” dizin etiketine sahip sütunu seçmek için .loc’un nasıl kullanılacağını gösterir:
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
Farklı dizin etiketlerine sahip birden çok sütun seçmek için benzer sözdizimini kullanabiliriz:
#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
Veya bir aralıktaki tüm sütunları seçebiliriz:
#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
İlgili: Pandalar loc vs iloc: fark nedir?
Ek kaynaklar
Aşağıdaki eğitimlerde pandalarda diğer yaygın işlemlerin nasıl gerçekleştirileceği açıklanmaktadır:
Pandas DataFrame’de dizine göre nasıl gruplandırılır
Pandas DataFrame’de dizine göre satırlar nasıl seçilir
Pandas DataFrame’de satır numaraları nasıl alınır?
Pandas DataFrame’deki dizin sütunu nasıl kaldırılır