Kuinka indeksoida pandas DataFrames
Python pandas DataFrames -indeksointi mahdollistaa tehokkaan ja suoran pääsyn dataan. Se helpottaa tiettyjen rivien ja sarakkeiden valintaa, mikä yksinkertaistaa data-analyysitehtäviä.
Mitä indeksointi tarkoittaa pandas-ohjelmistossa?
Indeksointi pandas-kirjastossa viittaa erilaisiin menetelmiin, joita voit käyttää rivien tai sarakkeiden valitsemiseen. Rivien ja sarakkeiden nimikkeiden tai niiden numeerisen sijainnin avulla DataFrame-kehyksessä voit helposti valita elementtejä DataFrame-kehyksestä. Indeksi toimii eräänlaisena osoitejärjestelmänä tiedoillesi, mikä auttaa sinua löytämään ja hallinnoimaan tietojasi tehokkaammin.
Mikä on pandas DataFrame.index?
Voit tarkastella DataFrame-kehyksen indeksimerkintöjä pandas-kirjastossa käyttämällä index. Syntaksi on seuraavanlainen:
DataFrame.indexpythonMikä on pandas-kirjaston DataFrame-taulukoiden indeksoinnin syntaksi?
Pandas DataFrames -kehyksiä voidaan indeksoida useilla tavoilla, ja syntaksi vaihtelee suorittamasi toiminnon mukaan.
Indeksointi tarroilla (sarakkeiden tarrat)
Voit käyttää sarakkeiden nimiä pandas-tietokehysten indeksointiin. Tässä on esimerkki siitä, miten luodaan esimerkkitietokehys:
import pandas as pd
# Creating a sample DataFrame
data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['Nottingham', 'London', 'Cardiff']
}
df = pd.DataFrame(data)
print(df)pythonDataFrame näyttää seuraavalta:
Name Age City
0 Alice 25 Nottingham
1 Bob 30 London
2 Charlie 35 CardiffVoit käyttää kaikkia sarakkeen arvoja kirjoittamalla sarakkeen nimen yhdessä indeksointioperaattorin [] kanssa. Kirjoita sarakkeen nimi Python-merkkijonona indeksointioperaattorin sisään:
# Access the Age column
print(df['Age'])pythonTuloksena on luettelo ikäluokista:
0 25
1 30
2 35
Name: Age, dtype: int64Jos haluat hakea useamman kuin yhden sarakkeen tiedot, kirjoita sarakkeiden nimet indeksointioperaattoriin ja erota ne toisistaan pilkuilla.
Indeksointi loc[]:lla (rivien nimikkeet)
Jos haluat käyttää DataFrame-taulukon tiettyä riviä, voit käyttää pandas loc -indeksointia. Voit siirtää rivin tunnisteen tai rivin numeron indeksoijalle. Tässä esimerkissä käytämme samaa DataFrame-taulukkoa kuin edellä ja poimimme arvot ensimmäiseltä riviltä (rivi 0):
print(df.loc[0])pythonYllä oleva koodi tulostaa Alicen arvot, jotka sisältyvät DataFrame-taulukon ensimmäiseen riviin:
Name Alice
Age 25
City Nottingham
Name: 0, dtype: objectIndeksointi numerolla iloc[] (rivin ja sarakkeen numerot)
Toinen tapa käyttää DataFrame-kehyksen tiettyjä elementtejä on rivien ja sarakkeiden numeroiden avulla. Tämä on luultavasti suosituin tapa etsiä elementtejä DataFrame-kehyksestä. Numeroindeksin käyttämiseksi tarvitset DataFrame-attribuutin iloc.
# Access the first row
print(df.iloc[0])
# Access the value in the first row and second column
print(df.iloc[0, 1])pythonTässä on tulos, kun työskentelet iloc[] kanssa:
Name Alice
Age 25
City Nottingham
Name: 0, dtype: object
25Yksittäisten arvojen käyttäminen
Jos haluat käyttää vain yhtä arvoa, at indeksoija on nopea ja helppo tapa tehdä se. Tämän indeksoijan avulla voit määritellä rivit ja sarakkeet niiden nimien avulla. Jos esimerkiksi haluat selvittää, missä Bob asuu, kirjoita riviin ”1” ja sarakkeeseen ”City”:
print(df.at[1, 'City'])pythonTässä saamme tulokseksi London.
Vaihtoehtoisesti voit käyttää 20-indeksiä, joka toimii samalla tavalla kuin at, mutta käyttää nimen sijaan kokonaislukupohjaista sarakkeen sijaintia. Alla oleva koodi tuottaa saman tuloksen kuin edellinen esimerkki:
print(df.iat[1, 2])pythonBoolen indeksointi
Voit myös luoda DataFrame-taulukon osajoukkoja ehdon perusteella. Tätä kutsutaan boolenaiseksi indeksoinniksi. Ehdon tuloksen tulisi olla joko True tai False, ja se sijoitetaan suoraan indeksointioperaattoriin. Jos haluat esimerkiksi valita rivit, jotka sisältävät yli 30-vuotiaita henkilöitä, voit käyttää seuraavaa koodia:
# Select rows where Age is greater than 30
print(df[df['Age'] > 30])pythonAinoa yli 30-vuotias henkilö on Charlie, mikä tuottaa seuraavan tuloksen:
Name Age City
2 Charlie 35 Cardiff