如何在Python的数据帧中为布尔函数下标?

如何在Python的数据帧中为布尔函数下标?,python,pandas,dataframe,boolean,Python,Pandas,Dataframe,Boolean,我有一个看起来像这样的数据帧: key Candidate Position duplicates 0 0-39-1 SHRI. BISHNU PADA RAY 1 False 1 0-39-1 SHRI. KULDEEP RAI SHARMA 2 False 2 0-39-1 SHRI TAPAN KUMAR BEPARI 3 False 3 0-39-1 SHRI. P. R. GANESHAN 4

我有一个看起来像这样的数据帧:

    key             Candidate   Position duplicates
0   0-39-1  SHRI. BISHNU PADA RAY    1    False
1   0-39-1  SHRI. KULDEEP RAI SHARMA 2    False
2   0-39-1  SHRI TAPAN KUMAR BEPARI  3    False
3   0-39-1  SHRI. P. R. GANESHAN     4    False
4   0-39-1  SMTI. R. S. UMA BHARATTH 5    True
df["duplicates"] = df.duplicates.map(int)
如果重复值为真,我希望值为1,如果为假,则为0。此列只有这两个值。我阅读了很多关于这方面的答案,并已经尝试了以下几点:

df[duplicates]=intdf[duplicates]==True df[标志\数字][df[重复项]==True]=1

以及其他一些琐碎的解决方案,但每次我都会出现以下错误: “bool”对象不可下标

因为我是python新手,有人能帮我找到正确的答案吗

类似这样:

    key             Candidate   Position duplicates
0   0-39-1  SHRI. BISHNU PADA RAY    1    False
1   0-39-1  SHRI. KULDEEP RAI SHARMA 2    False
2   0-39-1  SHRI TAPAN KUMAR BEPARI  3    False
3   0-39-1  SHRI. P. R. GANESHAN     4    False
4   0-39-1  SMTI. R. S. UMA BHARATTH 5    True
df["duplicates"] = df.duplicates.map(int)

将布尔值转换为0和1可以通过强制转换为int来完成。为此,请使用astype方法:

df['duplicates'].astype(int)
[df[重复项]==True]=1

括号外还需要双等号==将其设置为:df[df['column_name']==value]==1

因此,在您的情况下,它将是:

如果df[df['duplicates']==True]:双方括号很重要 返回1 其他的 返回0 希望这有帮助