我正在尝试创建一个for循环i,我首先:过滤pyspark sql数据框,然后将过滤后的数据框转换为pandas,对其应用函数,然后将结果填充到名为results的列表中。我的列表包含一个字符串序列(这将是数据框中的ID);我希望for循环在每次迭代中从列表中获取字符串之一,并过滤ID为该字符串的数据框中的所有行。样例代码:
results = []
for x in list:
aux = df.filter("id='x'")
final= function(aux,"value")
results.append(final)
results
数据帧是一个时间序列,在循环之外,我应用了aux = df.filter("id='x'")
转换,然后函数运行没有问题;问题出在循环本身中。但是,当我执行aux.show()时,它显示了一个空的数据框。数据帧是一个时间序列,在循环之外,我应用了aux = df.filter("id='x'")
转换,然后函数运行没有问题;问题出在循环本身中。
有谁知道为什么会这样?
试试下面的代码。x
未在过滤器表达式中替换。
results = []
for x in list:
aux = df.filter("id = '%s'" % x)
final= function(aux,"value")
results.append(final)
results
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句