我正在研究芝加哥犯罪数据集,但在逮捕栏上遇到了麻烦。它说的是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)