python - Python中的结构化流处理
问题描述
我有以下(有限)数据流:
def get_logs() -> Generator[Dict,None,None]:
for .. in some_db_logs:
yield {
"utterance": ...
"user_hash": ...
}
我想按话语对它们进行分组,并为每个组计算两个聚合函数。在熊猫中,这将是:
pd.DataFrame(get_logs())
.groupby("utterance")
.agg(
"user_hash": "count",
"user_hash": "nunique")
它计算每个话语的出现次数和说出它的用户数量。
因为我习惯了 pandas,所以语法对我来说非常清楚,但是 pandas 在计算之前会将所有数据读入内存。对于我拥有的数据大小,这不能很好地扩展。显然,我可以用纯 Python 来实现它,但语法不再那么直观了。
是否有任何现成的库可以让我使用类似的语法执行结构化流处理?
解决方案
推荐阅读
- php - laravel 在数据表中显示多个数据
- node.js - 如何迭代包含查询的对象,并全部执行
- android - 无法使用 jniLibs 将 .so 文件添加到 Android Studio 3.5.3
- android - 使用数据绑定和 Kotlin 在 Android 中观察类参数
- google-apps-script - 修改代码 - 删除从单元格引用的一行数据。Google Apps 脚本/Google 表格
- javascript - 如何在 laravel 表视图刀片中显示来自 JSON 的指定对象值
- php - 将网站A的内容显示到网站B而不重定向
- flutter - 固定大小的可滚动容器中的长文本颤动
- dynamics-crm - 在更改字段值时选择业务流程阶段
- java - 哈希图。查找两个哈希映射之间具有相同值的键