Spark 上的 Pandas apply() 似乎正在重塑列

问题描述 投票:0回答:1

任何人都可以解释以下行为吗?

import pyspark.pandas as ps

loan_information = ps.read_sql_query([blah])

loan_information.shape
#748834, 84

loan_information.apply(lambda col: col.shape)
#Each column has 75 dimensions. The first 74 are size 10000, the last is size 8843
#This still sums to 748834, but hardly seems like desirable behavior

我的猜测是大小为 10000 的批次被提供给执行者,但是,再一次,这似乎是非常不受欢迎的行为。

pyspark aggregate pyspark-pandas
1个回答
0
投票

文档很清楚:

当 axis 为 0 或‘index’时,函数无法访问整个输入序列。 pandas-on-Spark 在内部将输入序列分成多个批次,并多次调用每个批次的 func。因此,全局聚合等操作是不可能的。请参阅下面的示例。

.apply
用于非聚合函数,如果你想做聚合类型的函数,使用像
.aggregate

© www.soinside.com 2019 - 2024. All rights reserved.