Pandalarda büyük bir DataFrame'i anlamlandırmaya çalışırken, onu sütunlara ve satırlara göre alt kümelere ayırmanız gerekebilir. Bu öğreticide, DataFrame'inizi bölümleyen sütunların en yaygın kullanım durumlarını göstereceğiz.
Aşağıdaki Python kodunu favori ortamımızda çalıştırarak yapacağımız örnek DataFrame'imizi ayarlayarak başlayacağız (basitlik için Anaconda ve Jupyter Lab kullanıyorum).
import pandas as pd # import the pandas library
languages = ({"language": [ "Python", "C-Sharp", "Javascript","PHP"] ,
"avg_difficulty_level": [3, 2, 2, 1],
"avg_salary": [120, 100, 120, 80],
"applications": [10,15,14,20]})
# Now let's convert our dict to a DataFrame
languages = pd.DataFrame.from_dict(languages)
Şimdi, head() yöntemini kullanarak Dataframe ilk satırlarımıza bakalım.
languages.head()
Gördüğünüz gibi, bu gönderide örnek olarak kullanacağımız oldukça basit bir DataFrame:
| |
dilim |
avg_difficulty_level |
ort_maaş |
uygulamalar |
| 0 |
piton |
3 |
120 |
10 |
| 1 |
C-Sharp |
2 |
100 |
15 |
| 2 |
Javascript |
2 |
120 |
14 |
| 3 |
PHP |
1 |
80 |
20 |
Tek bir sütunu filtreleme
Veri kümemizden bir sütunu alt kümeye almak olan en basit durumla başlayacağız. Aşağıdaki komutu çalıştırmak bir Series nesnesi yaratacaktır:
Ada / etikete göre
languages["language"]
Çıktı bir Seridir:
0 piton
1 C-Keskin
2 Javascript
3 PHP
Ad: dil, tür: nesne
type(languages["language"])
pandas.core.series.Series
dizine göre
Aşağıdaki komut ayrıca ilk sütunu içeren bir Seri döndürür.
languages.iloc[:,0]
Birden çok sütun seçme
İsimle
Pandalar bir sütun listesini iletirken verilerin bir kısmını içeren bir DataFrame döndürür.
languages[["language", "applications"]]
| |
dilim |
uygulamalar |
| 0 |
piton |
10 |
| 1 |
C-Sharp |
15 |
| 2 |
Javascript |
14 |
| 3 |
PHP |
20 |
Etikete göre (loc ile)
df.loc[:,["language","applications"]]
Sonuç benzer olacaktır.
dizine göre
Şimdi dizini kullanarak birden çok sütunu alalım:
languages.iloc[: ,[0,3]]
| |
dilim |
uygulamalar |
| 0 |
piton |
10 |
| 1 |
C-Sharp |
15 |
| 2 |
Javascript |
14 |
| 3 |
PHP |
20 |
koşula göre
Bu durumda, belirli bir ifadeyle eşleşen adın sütunlarını göstereceğiz. Oldukça kullanışlı filtre yöntemini kullanacağız:
languages.filter(axis = 1, like="avg")
Notlar:
- ayrıca belirli bir normal ifadeye (regex) göre filtre uygulayabiliriz.
- Belirli satır değerine göre filtrelemek için axis=0 parametresini uygulayabiliriz.
Belirli satırları koşula göre filtrele
DataFrame'i bir satır değerine göre alt kümelemenin oldukça basit bir yolu:
languages[(languages["applications"] > 15)]
Tek bir sonucumuz var:
languages[(languages["applications"] > 15)]
| |
dilim |
avg_difficulty_level |
ort_maaş |
uygulamalar |
| 3 |
PHP |
1 |
80 |
20 |