如何在 python/pandas 中使用 where 条件转换 sql 计数?

Posted

技术标签:

【中文标题】如何在 python/pandas 中使用 where 条件转换 sql 计数?【英文标题】:How to convert sql count with where condition in python/pandas? 【发布时间】:2022-01-22 17:45:44 【问题描述】:

我有下面的 sql 查询,

count(ticket_id) from interactions  as intr
where ticket_status='PENDING'

我需要在 python 中实现相同的目标。我尝试了以下方法。还有什么比这更好的吗?

subset_df = df[df["ticket_status"]== 'PENDING']
column_count = subset_df.count()

这只会给我状态列的计数。 但我正在尝试获取带有 where 条件的票证 ID。

我想计算具有该特定状态的票证 ID。任何帮助都将不胜感激。

【问题讨论】:

【参考方案1】:

对我有用的是:df[df["ticket_status"]== 'PENDING'].value_counts().count() 这将给出ticket_status 为“PENDING”的门票数量。

【讨论】:

【参考方案2】:

如果您的目标是计算列中的所有不同实例,您可以使用 df['ticket_status'].value_counts()

对于有条件的计数值,您可以使用 df.where(df['ticket_status'] == 'myvalue').count()

https://pandas.pydata.org/docs/getting_started/comparison/comparison_with_sql.html

【讨论】:

【参考方案3】:

试试这个:

df.ticket_status.value_counts()

【讨论】:

以上是关于如何在 python/pandas 中使用 where 条件转换 sql 计数?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 pandas/python 中查看 excel 电子表格的公式?

在 Python Pandas 中使用聚合函数时如何忽略值 0?

如何使用 Python Pandas 合并多个 CSV 文件

如何使用 Python/Pandas 测量预测的准确性?

在 Python/Pandas 中,如何将世纪月转换为 DateTimeIndex?

如何在python pandas数据框中选择和更改数据[重复]