Python 我遇到Pyspark错误:列不可iterable
当我尝试在spark中运行以下代码时,我得到错误: 以下是回溯: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
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(", ")