Python 基于列表中的值向数据帧添加新列
新手程序员在这里寻求帮助。我有一个如下所示的数据帧:Python 基于列表中的值向数据帧添加新列,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,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") 我想要的输出
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
如何实现所需的输出?与以下一起使用:
df["List"] = df["Name"].str.lower().isin(l).astype(int)
df['name'].str.lower().isin(l).astype(int)
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