我的数据框中有一个表:
df = pd.DataFrame({
'CategoryCount': {0: 0, 1: 12, 2: 15, 3: 0, 4: 25, 5: 0},
'frequency': {0: 123, 1: 234, 2: 456, 3: 678, 4: 890, 5: 145}
})
+-----------------+-----------+
| CategoryCount | frequency |
+-----------------+-----------+
| 0 | 123 |
| 12 | 234 |
| 15 | 456 |
| 0 | 678 |
| 25 | 890 |
| 0 | 145 |
+-----------------+-----------+
它有300行
我想找到类别计数的总数,其中频率小于75% 我用普通mysql编写这个查询就是为了这样做:
select count(CategoryCount)
from category_analysis
where (frequency * 100 / (select sum(frequency) from category_analysis)) < 75
如何在pandas中使用python实现相同的功能。你知道吗
IIUC这将是相当的(10%,因为您的所有样本行<;75%):
或者更好一点variant from @John Galt:
OP在SQL中的查询:
注意:这并不能回答OP的问题。然而,正如@MaxU所指出的,它可能对其他人有所帮助。你知道吗
使用
value_counts
和normalize
相关问题 更多 >
编程相关推荐