我有~5000
行,并且'Round'
列中的所有值都从-1
到7
。我正在尝试创建一个新列,并将其映射到-1
= 0
的位置,然后1-7
中的任何内容都是1
。我尝试了一个简单的地图并列出了所有映射,但这是行不通的。
combine['Drafted'] = combine.Round.map({'-1':0,'1':1,'2':1,'3':1,'4':1,'5':1,'6':1,'7':1})
上面的逻辑是否有问题,无法正常工作?
答案 0 :(得分:1)
我想您可以使用以下代码来实现它:
df = pd.DataFrame({'Round': [-1, 1, 0, 7, -1, 2, 3, 5, -1, 4, 6]})
df['Drafted'] = np.where(df['Round'] == -1, 0, 1)
print(df)
输出如下:
Round Drafted
0 -1 0
1 1 1
2 0 1
3 7 1
4 -1 0
5 2 1
6 3 1
7 5 1
8 -1 0
9 4 1
10 6 1