Hoe een dataframe subset door een of meerdere kolommen?

Wanneer u een groot DataFrame in Panda's probeert te begrijpen, moet u het mogelijk onderverdelen in kolommen en rijen. In deze zelfstudie laten we de meest voorkomende gebruiksscenario's zien van kolompartitionering van uw DataFrame.

We beginnen met het opzetten van ons voorbeeld DataFrame, wat we zullen doen door de volgende Python-code uit te voeren in onze favoriete omgeving (voor de eenvoud gebruik ik Anaconda en Jupyter Lab).

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)

Laten we nu eens kijken naar de eerste rijen van onze Dataframe met behulp van de methode head().

languages.head()

Zoals je kunt zien, is dit een vrij eenvoudig DataFrame dat we als voorbeeld in dit bericht zullen gebruiken:

  taal gemiddelde_moeilijkheidsgraad gemiddeld_salaris toepassingen
0 Python 3 120 10
1 C-Sharp 2 100 15
2 Javascript 2 120 14
3 PHP 1 80 20

Een enkele kolom filteren

We beginnen met het eenvoudigste geval, namelijk het subsetten van één kolom uit onze dataset. Als u de volgende opdracht uitvoert, wordt een Series-object gemaakt:

Op naam / label

languages["language"]

De output is een serie:

0 Python
1 C-Sharp
2 Javascript
3 PHP
Naam: taal, dtype: object
type(languages["language"])

pandas.core.series.Series

op index

De volgende opdracht retourneert ook een serie die de eerste kolom bevat:

languages.iloc[:,0]

Meerdere kolommen selecteren

Bij naam

Bij het doorgeven van een lijst met kolommen, retourneert Panda's een DataFrame met een deel van de gegevens.

languages[["language", "applications"]]
  taal toepassingen
0 Python 10
1 C-Sharp 15
2 Javascript 14
3 PHP 20

Op label (met loc)

df.loc[:,["language","applications"]]

Het resultaat zal vergelijkbaar zijn.

op index

Laten we nu meerdere kolommen ophalen met behulp van de index:

languages.iloc[: ,[0,3]]
  taal toepassingen
0 Python 10
1 C-Sharp 15
2 Javascript 14
3 PHP 20

op voorwaarde

In dit geval tonen we alleen de kolommen waarvan de naam overeenkomt met een specifieke uitdrukking. We gebruiken de best handige filtermethode :

languages.filter(axis = 1, like="avg")

Opmerkingen:

  1. we kunnen ook filteren op een specifieke reguliere expressie (regex).
  2. We kunnen de parameter axis=0 toepassen om te filteren op specifieke rijwaarde.

Specifieke rijen filteren op voorwaarde

Hier is een vrij eenvoudige manier om het DataFrame in te stellen op basis van een rijwaarde:

languages[(languages["applications"] > 15)]

We hebben maar één resultaat:

languages[(languages["applications"] > 15)]
  taal gemiddelde_moeilijkheidsgraad gemiddeld_salaris toepassingen
3 PHP 1 80 20

Gember 2.7.53.0

Gember 2.7.53.0

Ginger is een gratis spelling- en grammaticacontrole.

Blokken

Blokken

Blocks is een intellectueel spel voor leerlingen van de derde klas van de basisschool om hun detectie- en oogvaardigheden te oefenen en wordt door docenten opgenomen in het IT-onderwijsondersteuningsprogramma.

Prezi 6.26

Prezi 6.26

Prezi is een gratis applicatie waarmee u digitale presentaties kunt maken, zowel online als offline.

Mathway

Mathway

Mathway is een zeer nuttige app waarmee u al die wiskundige problemen kunt oplossen waarvoor een complexer hulpmiddel nodig is dan de ingebouwde rekenmachine van uw apparaat.

Adobe Presenter

Adobe Presenter

Adobe Presenter is e-Learning-software uitgegeven door Adobe Systems en beschikbaar op het Microsoft Windows-platform als een Microsoft PowerPoint-plug-in.

Toekan 2.3.0

Toekan 2.3.0

Toucan is een educatief technologieplatform. Hiermee kunt u een nieuwe taal leren terwijl u op gewone, alledaagse websites surft.

ENetViet 24.2

ENetViet 24.2

eNetViet is een applicatie die ouders helpt in contact te komen met de school waar hun kinderen studeren, zodat ze de huidige leersituatie van hun kind duidelijk kunnen begrijpen.

Duolingo

Duolingo

Duolingo - Leer gratis talen, of kortweg Duolingo, is een educatief programma waarmee je veel verschillende talen kunt leren en oefenen.

Snel typen

Snel typen

RapidTyping is een handige en gebruiksvriendelijke tool voor toetsenbordtraining waarmee u uw typsnelheid kunt verbeteren en spelfouten kunt verminderen. Met lessen georganiseerd voor veel verschillende niveaus, leert RapidTyping u hoe u kunt typen of bestaande vaardigheden kunt verbeteren.

MathType 7.4.10.53

MathType 7.4.10.53

MathType is interactieve vergelijkingssoftware van ontwikkelaar Design Science (Dessci), waarmee u wiskundige notaties kunt maken en annoteren voor tekstverwerking, presentaties, eLearning, enz. Deze editor wordt ook gebruikt voor het maken van TeX-, LaTeX- en MathML-documenten.