计算带有点“。”的数据框列的roximateQuantile。

时间:2019-06-12 07:22:50

标签: pyspark

我无法为列名中包含一个点的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'

1 个答案:

答案 0 :(得分:0)

由于错误,Spark无法解析带点的列名(有关更多信息,请参见此bug report)。只需使用下面的代码来清理您的列名:

x = [s.replace('.', 'DOT') for s in df.columns]
df = df.toDF(*x)