带有点“。”的数据框的 pyspark 访问列

Posted

技术标签:

【中文标题】带有点“。”的数据框的 pyspark 访问列【英文标题】:pyspark access column of dataframe with a dot '.' 【发布时间】:2016-05-16 10:23:57 【问题描述】:

除非首先由withColumnRenamed 重命名,否则包含点(例如“id.orig_h”)的 pyspark 数据帧将不允许使用 groupby。有解决方法吗? "`a.b`" 似乎没有解决它。

【问题讨论】:

你能分享你用来分组的代码吗? 【参考方案1】:

在我的 pyspark shell 中,以下 sn-ps 正在工作:

from pyspark.sql.functions import *
myCol = col("`id.orig_h`")    
result = df.groupBy(myCol).agg(...)

myCol = df["`id.orig_h`"]   
result = df.groupBy(myCol).agg(...)

希望对你有帮助。

【讨论】:

感谢@Daniel de Paula 的回答。你能确认使用groupby("`id.orig_h`") 不起作用吗? @HananShteingart,对我来说,以下代码有效:df.groupBy("`id.orig_h`").agg(...) 对我来说不是。您能否添加更多以 id 开头的列。 ?我使用 pyspark 1.6 @HananShteingart 您的 DataFrame 是如何创建的?您如何进行 groupBy 操作?你能显示df.printSchema()的结果吗?

以上是关于带有点“。”的数据框的 pyspark 访问列的主要内容,如果未能解决你的问题,请参考以下文章

如何在数据框的开头移动 pyspark 数据框的特定列

将pyspark数据框的列转换为小写

pyspark数据框的区分大小写的列删除操作?

Pyspark - 一次聚合数据框的所有列[重复]

Pyspark:查找两个数据框的交集仅返回一列具有值

如何在 pyspark 中加入带有熊猫数据框的配置单元表?