从 pandas 大数据集中获取犯罪“计数”
Posted
技术标签:
【中文标题】从 pandas 大数据集中获取犯罪“计数”【英文标题】:Getting a crime 'count' from pandas big dataset 【发布时间】:2017-12-01 21:09:16 【问题描述】:这是一个相当广泛的问题,因为我无法复制我尝试过的所有不同的东西。来自纽约警察局犯罪数据集:https://data.cityofnewyork.us/Public-Safety/NYPD-Complaint-Data-Historic/qgea-i56i
我正在尝试遍历 CMPLNT_FR_DT 行,(这是一个字符串,并且拒绝并转换为 DateTime 对象)
创建一个数据框并用值填充它,使其如下所示:
[Date] [Borough] [Crime Count]
01-01-2014
...
...
...
12-31-2014
所以示例行看起来像:
05-23-2014 QUEENS 45
并表示 2014 年 5 月 23 日,皇后区发生了 45 起犯罪。
我已经腌制了数据集以加快处理时间。我正在使用 python pandas 库。我的问题是,无论我多么努力地获得犯罪计数,我似乎都无法遍历 CMPLNT_FR_DT。我也不能使用 set_value
函数将 NYPD_Historic 数据框的值设置为我的新数据框。此外,即使尝试使用 .iterrows()
计算自治市镇事件也会产生“只能使用 MultiIndex 的元组索引”错误。很感谢任何形式的帮助!
【问题讨论】:
向我们展示您的代码可能是个好主意,以便我们更清楚地了解您在做什么 【参考方案1】:现在似乎是使用 groupby 方法的好时机。您可以实现df.groupby(['CMPLNT_FR_DT', 'Borough']).count()
,这将为您提供一个新的数据框,其中包含具有相同日期和自治市镇的所有实例的计数,无论日期格式如何,只要它们都是相同的数据类型。
作为一个额外的好处,这将比遍历整个数据框快得多。
【讨论】:
以上是关于从 pandas 大数据集中获取犯罪“计数”的主要内容,如果未能解决你的问题,请参考以下文章