Indexeren en selecteren van gegevens met panda`s

| | | | | | | | |

Laten we eens kijken naar een voorbeeld van indexering in Panda`s. In dit artikel gebruiken we het "nba.csv "-bestand om CSV te uploaden, klik op hier .

Selectie van meerdere rijen en meerdere kolommen

Laten we een DataFrame nemen met enkele nepgegevens, nu indexeren we dit DataFrame. Hierin selecteren we meerdere rijen en meerdere kolommen uit het DataFrame. Dataframe met dataset.

Stel dat we alleen de kolommen Leeftijd , College en Salaris willen selecteren voor rijen met het label Amir Johnson en Terry Rozier

Ons laatste DataFrame met zie er zo uit:

Selecteer meerdere rijen en alle kolommen

Stel dat we de regel willen selecteren Amir Jhonson , Terry Rozier en John Holland met alle kolommen in het dataframe .

Ons laatste DataFrame ziet er als volgt uit:

Enkele kolommen en alle rijen selecteren

Laten we zeggen dat we dat willen selecteer de kolommen Leeftijd, Hoogte en Salaris met alle rijen in het dataframe.

Ons laatste DataFrame ziet er als volgt uit:

< /figure>

Panda`s indexeren met [] , .loc [] , . iloc [] , Dataframe .loc [] : deze functie wordt gebruikt voor labels.
  • Dataframe.iloc [] : dit functie wordt gebruikt voor posities of gehele getallen
  • Dataframe.ix [] : deze functie wordt gebruikt voor zowel labels als gehele getallen.
  • Samen heten ze indexers . Dit zijn verreweg de meest gebruikelijke manieren om gegevens te indexeren. Dit zijn vier functies waarmee u elementen, rijen en kolommen uit een DataFrame kunt halen.

    Een dataframe indexeren met de [] indexeringsoperator: < br>Operatorindexering wordt gebruikt om te verwijzen naar vierkante haken na een object. In , index_col = "Naam" )


    # kolommen extraheren met de index-operator

    eerste = gegevens [ "Leeftijd" ]



    print (eerste)

    Afsluiten:

    Meerdere kolommen selecteren

    Om meerdere kolommen te selecteren, moeten we een lijst met kolommen doorgeven in de indexeringsinstructie .


    # import panda`s pakket

    import pa n das as pd


    # maak dataframe van CSV-bestand

    data = pd.read_csv ( "nba.csv" , index_col = " Naam " )


    # haal meerdere kolommen op met de index-operator

    eerst = gegevens [[ "Leeftijd" , "College" , "Salaris" ]]




    eerste

    Afsluiten:

    Het DataFrame indexeren met behulp van subsets van rijen of kolommen selecteren. Het kan ook tegelijkertijd subsets van rijen en kolommen selecteren.

    Eén rij selecteren

    Om één rij te selecteren met .loc [] , we plaatsen een label met één regel in de functie .loc .


    # pandas pakketimport

    import panda`s als pd


    # maak dataframe van CSV-bestand

    data = pd.read_csv ( "nba.csv" , index_col = "Naam" )


    # extract string lezen met behulp van loc methode

    eerste = data .loc [ "Avery Bradley" ]

    tweede = data.loc [ "RJ Hunter" ]



    print (eerste, "" , tweede)

    Uitvoer:
    Zoals weergegeven in de uitvoerafbeelding, werden twee series geretourneerd omdat er beide keren slechts één parameter was.


    Selecteer meerdere regels

    Om meerdere regels te selecteren, plaatsen we alle regellabels in een lijst en geven ze door aan de functie . loc .


    import panda`s als pd


    # maak dataframe van CSV-bestand

    data = pd.read_csv ( "nba.csv" , index_col = "Naam" )


    # haal meerdere regels op met de loc-methode

    eerst = data.loc [[ "Avery Bradley" , " RJ Hunter " ]]

    print (eerste)

    < /tr>

    Uitvoer:

    Twee rijen en drie kolommen selecteren

    Om twee rijen en drie kolommen te selecteren, selecteren we de twee rijen we willen drie kolommen selecteren en deze in een aparte lijst plaatsen, zoals deze:


     Dataframe.loc [["row1", "row2"], ["column1", "column2", "column3"] ] 

    importeer panda`s als pd


    # maak dataframe van CSV-bestand

    data = pd.read_csv ( "nba.csv" , index_col = "Naam" )


    # extraheren twee rijen en drie kolommen met behulp van de loc-methode

    first = data.loc [[ "Avery Bradley" , "RJ Hunter" ] ,

    [ "Team" , "Nummer" , "Positie" ]]



    print ( eerst)

    Uitvoer:


    Alle rijen en enkele kolommen selecteren

    Alle rijen en enkele selecteren kolommen, gebruiken we een enkele dubbele punt [:], om alle rijen te selecteren en een lijst van enkele van de kolommen die we als volgt willen selecteren:

     Dataframe.loc [[: , ["column1", "column2", "column3"]] 

    < tbody>

    import panda`s als pd


    # maak dataframe van CSV-bestand

    data = pd.read_csv ( "nba.csv" , index_col = "Naam" )


    # haal alle rijen en enkele kolommen op met de loc-methode

    first = data.loc [:, [ "Team" , "Nummer" , "Positie" ]]



    print ( eerst)

    Afsluiten:

    Dataframe indexeren met . iloc [] :
    Met deze functie kunnen we rijen en kolommen op positie krijgen. Om dit te doen, moeten we de posities van de rijen die we nodig hebben specificeren, evenals de posities van de kolommen die we nodig hebben. df.iloc lijkt erg op df.loc maar gebruikt alleen integer-locaties voor selectie.

    Enkele regel selectie

    Om één regel te selecteren met .iloc [] , kunnen we één geheel getal doorgeven aan .iloc [] .

    importeer panda`s als pd


    # maak een dataframe van een CSV-bestand

    data = pd.read_csv ( "nba.csv" , index_col = "Naam" )



    # iloc extractie van rijen

    row2 = data.iloc [ 3 ]




    print (row2)

    Afsluiten:


    , index_col = "Naam" )



    # meerdere regels ophalen met de iloc-methode

    row2 = data.iloc [[ 3 , 5 , 7 ]]




    row2

    Afsluiten:


    Twee rijen en twee kolommen selecteren

    Om twee rijen en twee kolommen te selecteren, we maken een lijst van 2 gehele getallen voor strings en een lijst van 2 gehele getallen voor kolommen, en geven dan de functie .iloc [] door.


    importeer panda`s als pd


    # maak een dataframe van CSV-bestand

    gegevens = pd.read_csv ( "nba.csv" , index_col = "Naam" )



    # extractie van twee rijen en twee kolommen met behulp van de iloc-methode

    row2 = data.iloc [[[ 3 , 4 ], [ 1 , 2 ]]

    print (row2)

    Afsluiten:

    Selecteer alle rijen en enkele kolommen

    Om alle rijen en sommige kolommen gebruiken we een enkele dubbele punt [:], om alle rijen te selecteren, en fo r kolommen, stellen we een lijst met gehele getallen samen en geven dan de functie .iloc [] door.



    importeer panda`s als pd


    # maak een dataframe van een CSV-bestand

    data = pd.read_csv ( "nba.csv" , index_col = "Naam" )



    # extractie van alle rijen en sommige kolommen met behulp van de iloc-methode

    row2 = data.iloc [:, [ 1 , 2 ]]

    print (rij2)

    Afsluiten:

    Indexeren met behulp van .ix [] as .loc []

    Om één rij te selecteren, plaatsen we een enkel rijlabel in de functie. ix . Deze functie werkt als .loc [] als we het regellabel als argument aan de functie doorgeven.


    # import pandas package

    import panda`s als pd


    # maak een dataframe van een CSV-bestand

    data = pd.read_csv ( " nba.csv " , index_col = "Naam" )


    # een string verkrijgen met de ix-methode

    eerste = data.ix [ "Avery Bradley" ]




    print (eerste)

    Afsluiten:

    Een regel selecteren met .ix [] als , index_col = "Naam" )


    # een string verkrijgen met de ix-methode

    eerste = data.ix [ 1 ]


    print (eerste)

    Afsluiten:

    < figure class = aligncenter amp-wp-inline-71b6f2deb98f54bf23d07f2b79530929>


    Indexeringsmethoden in DataFrame

    < /tr>
    Functie Beschrijving
    Dataframe.head () Terug naar de bovenste n rijen van een dataframe.
    Dataframe.tail () Retourneer onderste n rijen van een dataframe.
    Dataframe.at [] Toegang tot een enkele waarde voor een rij-/kolomlabelpaar.
    Dataframe.iat [] Toegang tot een enkele waarde voor een rij-/kolompaar op integerpositie .
    Dataframe.tail () Zuiver op integere locatie gebaseerde indexering voor selectie op positie.
    DataFrame.lookup () Op labels gebaseerde "fancy indexing"-functie voor DataFrame.
    DataFrame .pop () Item retourneren en uit frame laten vallen.
    DataFrame.xs() Retourneert een doorsnede (rij(en) of kolom(men)) uit het DataFrame.
    DataFrame.get () Item ophalen van object voor gegeven sleutel (DataFrame-kolom, paneelsegment, enz.).
    DataFrame.isin () Retour boolean DataFrame die laat zien of elk element in het DataFrame is opgenomen in waarden.
    DataFrame.where () Retourneert een object met dezelfde vorm als self en waarvan de corresponderende vermeldingen van self zijn waarbij cond True is en anders van other.< /td>

    Shop

    Learn programming in R: courses

    $

    Best Python online courses for 2022

    $

    Best laptop for Fortnite

    $

    Best laptop for Excel

    $

    Best laptop for Solidworks

    $

    Best laptop for Roblox

    $

    Best computer for crypto mining

    $

    Best laptop for Sims 4

    $

    Latest questions

    NUMPYNUMPY

    psycopg2: insert multiple rows with one query

    12 answers

    NUMPYNUMPY

    How to convert Nonetype to int or string?

    12 answers

    NUMPYNUMPY

    How to specify multiple return types using type-hints

    12 answers

    NUMPYNUMPY

    Javascript Error: IPython is not defined in JupyterLab

    12 answers


    Wiki

    Python OpenCV | cv2.putText () method

    numpy.arctan2 () in Python

    Python | os.path.realpath () method

    Python OpenCV | cv2.circle () method

    Python OpenCV cv2.cvtColor () method

    Python - Move item to the end of the list

    time.perf_counter () function in Python

    Check if one list is a subset of another in Python

    Python os.path.join () method