Добавление нового столбца в DataFrame на основе значений в списке - PullRequest
2 голосов
/ 06 ноября 2019

Начинающий программист здесь ищет помощи. У меня есть Dataframe, который выглядит следующим образом:

       Name  
0  "jackolsen"
1  "IsabelClark"   
2  "JaneDoe"    
3  "JackOlsen"
4  "JACKOLSEN"
5  "MariaSmith"
6  "JohnSmith"
7  "MaryKent"    
8  "MaryKent"   

И список имен:

l = list("jackolsen", "janedoe", "johnsmith")

Мой желаемый вывод - это новый столбец в DataFrame, который сообщает мне, если имяв списке (значение = 1) или нет (значение = 0) независимо от того, является ли он прописным или строчным. В этом примере это будет:

       Name         List
0  "jackolsen"       1
1  "IsabelClark"     0   
2  "JaneDoe"         1
3  "JackOlsen"       1
4  "JACKOLSEN"       1
5  "MariaSmith"      0
6  "JohnSmith"       1
7  "MaryKent"        0
8  "MaryKent"        0

Как мне достичь желаемого результата?

Ответы [ 2 ]

2 голосов
/ 06 ноября 2019

Использование str.lower с isin:

df['List'] = df.Name.str.lower().isin(l).view('i1')

print(df)

       Name      List
0    jackolsen     1
1  IsabelClark     0
2      JaneDoe     1
3    JackOlsen     1
4    JACKOLSEN     1
5   MariaSmith     0
6    JohnSmith     1
7     MaryKent     0
8     MaryKent     0
2 голосов
/ 06 ноября 2019
df["List"] = df["Name"].str.lower().isin(l).astype(int)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...