【问题标题】:How do I get the number of times an event occurred for each category in Python3? [duplicate]如何获取 Python3 中每个类别的事件发生次数? [复制]
【发布时间】:2019-12-19 13:26:29
【问题描述】:

我正在从事一个获得 IBM 数据科学认证的项目。我试图弄清楚如何使用 python 3 分析数据框中的一些数据。基本上,我有一个名为NY311_df 的 df,它由大约 15 列组成。我现在关心的两列是boroughscomplaint_type。这两个值都是字符串。

我已经尝试通过循环计算每个甚至出现在complaint_type 列中的次数,我将在下面发布,但是我一直收到语法错误。我在stackoverflow上找到了类似问题的代码并尝试修改它。就是说我的专栏complaint_type 没有定义。我不明白为什么它不能采用与该列关联的值。我真的不知道从这里去哪里。即使这个循环运行,这仍然不能解决我将它与每个相应的行政区相关联的问题。

for i in range(0 , NY311_df.shape[1]):
    counts = NY311_df.iloc[:,i].value_counts()
    gen = (f'{complaint_type} occurs {value} times' for key, value in counts.items())
    print(*gen, sep=', ')

我想找到一种方法来返回 complaint_type 为每个行政区返回的次数。

示例输出:

"Brooklyn" " Heat: 3, Water: 5, Electric: 6 " 

然后它会移动到下一个行政区 --

"Brooklyn" " Heat: 3, Water: 5, Electric: 6 " 
"Queens" " Heat: 2, Water: 5, etc..."

【问题讨论】:

  • 听起来像 GroupBy:NY311_df.groupby(['boroughs', 'complaint_type']).count()
  • 你是最棒的。非常感谢。

标签: python pandas dataframe jupyter-notebook data-science


【解决方案1】:

检查stack

df.stack().groupby(level=1).value_counts()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-24
    • 2019-11-14
    • 2017-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多