简单的问题:假设我们
import pyspark.sql.functions as F
那么我如何从pyspark.sql.column.Column对象中恢复列名’a’字符串?F.col('a')
.
例如,如果我们把 str(F.col('a'))
我们有
而不是原来的列名’a’。
解决方案:
没有支持的方法可以这样做。你可以稍微黑一下,尝试一下下面的方法
from pyspark.sql.functions import lit, col
from pyspark.sql.column import Column
from py4j.protocol import Py4JError
def name(self):
try:
return self._jc.expr().name()
except Py4JError:
return None
Column.name = property(name)
这将使:
from pyspark.sql.functions import lit, col
col("a").name
'a'
lit(1).name is None
True
本文来自投稿,不代表实战宝典立场,如若转载,请注明出处:https://www.shizhanbaodian.com/40461.html