我已经从scala转到python来训练深度学习模型。我缺少了一些数据操作的函数方法的表达能力,尤其是group by
。
我想拆分一组/列表文件(路径库路径对象)至2组:验证和培训。我有一个函数which_set
,它为每个文件关联一个集合名。在scala我会写:
>>> all_paths = TRAIN_PATH.glob('*')
>>> all_paths.groupby(which_set)
{'valid': [....], 'train': [....]}
在Python中我挣扎着。我可以使用pandas和它的groupby
方法,但是我必须将all_paths
转换成字符串。不太理想。我可以使用itertools,但它会多次调用每个元素的设置:
from itertools import groupby
{k : list(l) for k, l in groupby(sorted(all_paths, key=which_set), key=which_set)}
这段代码看起来更像python,但它没有功能,而且很难阅读(与scala版本相比)
paths = {}
for x in all_paths: paths.setdefault(which_set(x), []).append(x)
你知道有什么图书馆或方法可以帮助我吗?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐