擅长:python、mysql、java
<p>您可以先进行筛选,然后选择<code>som</code>列,将行收集到Python列表中,然后从每一行获取元素:</p>
<pre><code>pyLst = [r[0] for r in df.filter(df.ano == 1).select('som').collect()]
print(pyLst)
[1, 3, 4]
</code></pre>
<p>另一种方法是首先转换为pandas数据帧,然后调用<code>.tolist()</code>,就像您在问题中所做的那样:</p>
<pre><code>pyLst = df.filter(df.ano == 1).select('som').toPandas()['som'].tolist()
</code></pre>
<p>您还可以使用RDD API:</p>
<pre><code>pyLst = df.filter(df.ano == 1).select('som').rdd.map(lambda r: r[0]).collect()
</code></pre>