Créer une nouvelle colonne dans dataframe basé sur une partie de la chaîne correspondant à d'autres de la colonne

J'ai un dataframe avec 2 colonnes GL et GLDESC et souhaitez ajouter une 3ème colonne appelée KIND basés sur les données qui est à l'intérieur de la colonne GLDESC.

Le dataframe est comme suit:

      GL                             GLDESC
1 515100         Payroll-Indir Salary Labor
2 515900 Payroll-Indir Compensated Absences
3 532300                           Bulk Gas
4 539991                     Area Charge In
5 551000        Repairs & Maint-Spare Parts
6 551100                 Supplies-Operating
7 551300                        Consumables

Pour chaque ligne de la table de données:

  • Si GLDESC contient le mot Payroll n'importe où dans la chaîne alors je veux KIND être Payroll
  • Si GLDESC contient le mot Gas n'importe où dans la chaîne alors je veux KIND être Materials
  • Dans tous les autres cas, je veux KIND être Other

J'ai cherché des exemples similaires sur stackoverflow, mais ne pouvait pas trouver une, aussi regardé dans R pour les nuls sur l'interrupteur, grep, d'appliquer et d'expressions régulières pour essayer et correspondre à une partie seulement de la GLDESC colonne, puis remplir le KIND colonne avec le type de compte mais a été incapable de le faire fonctionner.

OriginalL'auteur user2948714 | 2013-11-02