Python 我遇到Pyspark错误:列不可iterable

Python 我遇到Pyspark错误:列不可iterable,python,pyspark,Python,Pyspark,当我尝试在spark中运行以下代码时,我得到错误: 以下是回溯: TypeError Traceback (most recent call last) <ipython-input-33-4bfff78eeaad> in <module>() 1 feature_text='lepton pT, lepton eta, lepton phi, missing energy magnitude, mis

当我尝试在spark中运行以下代码时,我得到错误:

以下是回溯:

TypeError                                 Traceback (most recent call last)
<ipython-input-33-4bfff78eeaad> in <module>()
  1 feature_text='lepton pT, lepton eta, lepton phi, missing energy 
magnitude, missing energy phi, jet 1 pt, jet 1 eta, jet 1 phi, jet 1 b-tag, 
jet 2 pt, jet 2 eta, jet 2 phi, jet 2 b-tag, jet 3 pt, jet 3 eta, jet 3 phi, 
jet 3 b-tag, jet 4 pt, jet 4 eta, jet 4 phi, jet 4 b-tag, m_jj, m_jjj, m_lv, 
m_jlv, m_bb, m_wbb, m_wwbb'
----> 2 features=[strip(a) for a in split(feature_text,',')]

/opt/ibm/spark/python/pyspark/sql/column.py in __iter__(self)
342 
343     def __iter__(self):
--> 344         raise TypeError("Column is not iterable")
345 
346     # string methods

TypeError: Column is not iterable

看起来您正在使用函数,而实际上您正在寻找string方法

使用后一种方法,您可以使用以下方法从字符串生成要素名称列表,而无需列表理解:

features = feature_text.split(", ")
strip和split都是str的方法,而不是函数,因此使用my_string.strip和my_string.split调用

features = feature_text.split(", ")