从 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 大数据集中获取犯罪“计数”的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在 python 中使用数据集中的变量计数以日期作为预测变量来运行线性回归?

pandas根据列数据的值范围计数?

有啥有效的方法来计算大数据表列中的二进制值?

使用Lookup并从每个数据集中获取计数

运行查询以从大查询中获取事件计数

大数据时代,企业如何做好数据防泄漏?