我无法为列名中包含一个点的pyspark数据框计算roximateQuantile。
例如数据框架构为
root
|-- col.dot: double (nullable = true)
那我做不到
df.approxQuantile(('`col.dot`'), [0.5], 0.25)
它导致错误:
pyspark.sql.utils.IllegalArgumentException:'字段“ col.dot
”不存在。\ n可用字段:col.dot'
我也尝试过
df.approxQuantile(('col.dot'), [0.5], 0.25)
给我的错误是:
pyspark.sql.utils.AnalysisException:'无法解析\'col.dot
\'给定输入列:col.dot'
答案 0 :(得分:0)
由于错误,Spark无法解析带点的列名(有关更多信息,请参见此bug report)。只需使用下面的代码来清理您的列名:
x = [s.replace('.', 'DOT') for s in df.columns]
df = df.toDF(*x)