pyspark 数据框列名
pyspark dataframe column name
pyspark 数据框列名称的限制是什么。我对以下代码有疑问 ..
%livy.pyspark
df_context_spark.agg({'spatialElementLabel.value': 'count'})
它给...
u'Cannot resolve column name "spatialElementLabel.value" among (lightFixtureID.value, spatialElementLabel.value);'
列名显然输入正确。我通过从 pandas 数据帧转换得到数据帧。列名字符串中的点有问题吗?
点用于结构类型中的嵌套字段。因此,如果您有一个名为 "address" 的 StructType 类型的列,并且在该列中有 street1、street2 等,您将访问它的各个字段,如下所示:
df.select("address.street1", "address.street2", ..)
因此,如果您想在字段名称中使用点,则需要在引用该字段时用引号引起来。例如:
from pyspark.sql.types import *
schema = StructType([StructField("my.field", StringType())])
rdd = sc.parallelize([('hello',), ('world',)])
df = sqlContext.createDataFrame(rdd, schema)
# Using backticks to quote the field name
df.select("`my.field`").show()
pyspark 数据框列名称的限制是什么。我对以下代码有疑问 ..
%livy.pyspark
df_context_spark.agg({'spatialElementLabel.value': 'count'})
它给...
u'Cannot resolve column name "spatialElementLabel.value" among (lightFixtureID.value, spatialElementLabel.value);'
列名显然输入正确。我通过从 pandas 数据帧转换得到数据帧。列名字符串中的点有问题吗?
点用于结构类型中的嵌套字段。因此,如果您有一个名为 "address" 的 StructType 类型的列,并且在该列中有 street1、street2 等,您将访问它的各个字段,如下所示:
df.select("address.street1", "address.street2", ..)
因此,如果您想在字段名称中使用点,则需要在引用该字段时用引号引起来。例如:
from pyspark.sql.types import *
schema = StructType([StructField("my.field", StringType())])
rdd = sc.parallelize([('hello',), ('world',)])
df = sqlContext.createDataFrame(rdd, schema)
# Using backticks to quote the field name
df.select("`my.field`").show()