Ajouter une nouvelle colonne à df en fonction des valeurs d'autres colonnes

Ed Jefferies

J'ai un dataframe similaire à ci-dessous:

A        B       C
GCSE     yes     GQ
GCSE     no      GQ
NVQ      no      VQ
NVQ      yes     VQ

Je dois ajouter une quatrième colonne basée sur les valeurs des colonnes B et C. Il y a quatre résultats possibles, EPS, HCI, CAMS, DIGI. Ils doivent être les suivants:

B    C     D
yes  GQ    HCI
no   GQ    EPS
yes  VQ    DIGI
no   VQ    CAMS

Le dataframe est d'environ 37 000 lignes ...

Quelqu'un peut-il conseiller le moyen le plus simple de le faire? J'ai du mal à trouver une réponse qui n'implique pas d'ajouter, de soustraire, de multiplier ou de diviser des valeurs de deux colonnes pour remplir la nouvelle colonne.

Merci

sammywemmy

Vous pouvez créer un dictionnaire et utiliser la méthode map - cela fonctionne car les colonnes B et C sont des chaînes:

mapping = {"yes,GQ": "HCI", "no,GQ": "EPS", "yes,VQ": "DIGI", "no,VQ": "CAMS"}

df = df.assign(D=df.B.str.cat(df.C, sep=",").map(mapping))

df

       A    B   C   D
0   GCSE    yes GQ  HCI
1   GCSE    no  GQ  EPS
2   NVQ     no  VQ  CAMS
3   NVQ     yes VQ  DIGI

Vous pouvez également utiliser numpy select , qui est similaire à SQL case when; Je pense que la carte suffit pour cela. Testez-le cependant pour vérifier la vitesse, car vous avez beaucoup de lignes.

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Ajouter une colonne en fonction des valeurs d'autres colonnes

Ajouter une nouvelle colonne avec des valeurs en fonction des autres colonnes

Attribution d'une valeur à une nouvelle colonne en fonction des valeurs d'autres colonnes dans Pandas

Ajouter une nouvelle colonne à un dataframe en fonction des résultats d'autres colonnes

Créer une nouvelle colonne en fonction des valeurs d'autres colonnes

Créez une nouvelle colonne avec des valeurs en fonction d'autres colonnes - dans R

Ajouter des valeurs dans une nouvelle colonne de df en fonction d'une condition

SQL - Comment ajouter une colonne calculée en fonction des valeurs d'autres colonnes

Comment obtenir le pourcentage relatif d'une colonne DF en fonction des groupes et des valeurs d'autres colonnes DF

Créer une nouvelle colonne contenant les noms d'autres colonnes en fonction des valeurs de ces colonnes

R data.table ajouter une nouvelle colonne avec des valeurs d'autres colonnes en référençant

Comment créer une nouvelle colonne en fonction des valeurs d'autres colonnes dans un Pandas DataFrame

Comment créer une nouvelle colonne dans data.table en fonction des valeurs d'autres colonnes

Comment remplir des valeurs à l'intérieur d'une nouvelle colonne en fonction des valeurs d'autres colonnes d'une trame de données dans Pandas

Créer une nouvelle colonne en fonction de différentes valeurs dans d'autres colonnes R

Attribuer une nouvelle colonne en fonction de combinaisons uniques de valeurs dans d'autres colonnes

Remplissez conditionnellement la colonne en fonction des valeurs des autres colonnes d'un pandas df

les pandas créent une nouvelle colonne en fonction des valeurs d'autres colonnes / appliquent une fonction de plusieurs colonnes, par ligne

Remplir une nouvelle colonne dans une trame de données avec des valeurs d'une autre, en fonction des valeurs de deux autres colonnes? (Python / Pandas)

Ajouter des données à la colonne en fonction des valeurs d'autres colonnes

Comment ajouter une nouvelle colonne dans le cadre de données des pandas en fonction des valeurs de deux autres colonnes

ajouter une chaîne à la colonne en fonction des valeurs de deux autres colonnes

Somme des valeurs dans une colonne en fonction des valeurs dans d'autres colonnes ; Partie 2

Ajouter une nouvelle colonne à la table temporaire en fonction des valeurs d'une colonne

Ajouter une nouvelle colonne avec des valeurs basées sur des valeurs groupby deux autres colonnes

Dans R, comment créer une nouvelle colonne à partir des en-têtes de colonnes d'autres colonnes en fonction de leurs valeurs

Comment copier des valeurs d'une colonne dans df1 vers df2 en fonction de valeurs spécifiques dans trois autres colonnes?

Obtenir une liste de valeurs d'une colonne en fonction des conditions des autres colonnes

Créer une nouvelle colonne dans les pandas en fonction des conditions d'autres colonnes

TOP liste

  1. 1

    Microsoft.WebApplication.targets

  2. 2

    Spring @RequestParam DateTime format comme ISO 8601 Date Heure facultative

  3. 3

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  4. 4

    Comment ajouter une entrée à une table de base de données pour une combinaison de deux tables

  5. 5

    Passer la taille d'un tableau 2D à une fonction ?

  6. 6

    Exporter la table de l'arborescence vers CSV avec mise en forme

  7. 7

    Impossible d'accéder à la vue personnalisée pendant le test de l'interface utilisateur dans XCode

  8. 8

    Créer un système Buzzer à l'aide de python

  9. 9

    Comment changer le navigateur par défaut en Microsoft Edge pour Jupyter Notebook sous Windows 10 ?

  10. 10

    impossible d'obtenir l'image d'arrière-plan en plein écran dans reactjs

  11. 11

    Algorithme: diviser de manière optimale une chaîne en 3 sous-chaînes

  12. 12

    CSS: before ne fonctionne pas sur certains éléments,: after fonctionne très bien

  13. 13

    Conversion double en BigDecimal en Java

  14. 14

    Comment obtenir l'intégration contextuelle d'une phrase dans une phrase à l'aide de BERT ?

  15. 15

    Comment choisir le nombre de fragments et de répliques Elasticsearch

  16. 16

    Comment vérifier si un utilisateur spécifique a un rôle? Discord js

  17. 17

    Comment créer un bot à compte à rebours dans Discord en utilisant Python

  18. 18

    Existe-t-il un moyen de voir si mon bot est hors ligne ?

  19. 19

    comment afficher un bouton au-dessus d'un autre élément ?

  20. 20

    Comment activer le message Pylint "too-many-locals" dans VS Code?

  21. 21

    Je continue à obtenir l'objet 'WSGIRequest' n'a pas d'attribut 'Get' sur django

chaudétiquette

Archive