data = [Row(sample_label=1, num_samples=14398),
Row(sample_label=0, num_samples=12500),
Row(sample_label=2, num_samples=98230)]
filtered_data = [row.num_samples for row in data if row.sample_label == 0]
编辑:正如@RomanPerekhrest所说,收集之前先过滤。为什么?As per documentation: 此方法仅应在预期结果数组较小时使用,因为所有数据都加载到驱动程序的内存中。 仅当您绝对确定确实需要以这种格式收集数据时,才收集数据。如果确实需要,请对数据进行大量过滤,以降低驱动程序节点因OOM异常而失败的可能性。
2条答案
按热度按时间qncylg1j1#
在收集 Dataframe 行之前,根据所需条件过滤 Dataframe 行:
第一个月
wyyhbhjk2#
你的问题的一个可能答案是列表理解:
编辑:正如@RomanPerekhrest所说,收集之前先过滤。为什么?As per documentation:
此方法仅应在预期结果数组较小时使用,因为所有数据都加载到驱动程序的内存中。
仅当您绝对确定确实需要以这种格式收集数据时,才收集数据。如果确实需要,请对数据进行大量过滤,以降低驱动程序节点因OOM异常而失败的可能性。