将列中的真假转换为布尔值

时间:2019-04-07 01:40:14

标签: python python-3.x pandas

我正在研究芝加哥犯罪数据集,但在逮捕栏上遇到了麻烦。它说的是True或False,但它们是字符串,而不是布尔项。我尝试了在此网站上找到的几项内容,但尚未解决。

test = test['Arrest'].map({'False':False, 'True':True})

这使得数据集中所有列的所有内容均为True。

我也尝试了for循环,尽管我不确定我是否正确。

for i in test['Arrest']:
    if i=='True':
        return 1
    else:
        return 0

我也发现了类似问题的建议。这是建议的代码

def str_to_bool(s):
    if s == 'True':
         return True
    elif s == 'False':
         return False
    else:
         raise ValueError

但是我发现这很令人困惑并且也不适用

因此,对于一个最小的工作示例,我不确定如何显示它:

crimes2012 = pd.read_csv("C:\\Users\\Owner\\Desktop\\Chicago Dataset\\Chicago_Crimes_2012_to_2017.csv", header=0)
primary = crimes2012[['Primary Type','Arrest']].copy()
test=primary.groupby(['Primary Type','Arrest']).size().sort_values().reset_index(name='Count')
test['Arrest'] = test.Arrest.map(pd.eval)

0 个答案:

没有答案