我处理具有两列 mvv 和 count 的数据框。
+---+-----+
|mvv|count|
+---+-----+
| 1 | 5 |
| 2 | 9 |
| 3 | 3 |
| 4 | 1 |
我想获得两个包含 mvv 值和计数值的列表。就像是
mvv = [1,2,3,4]
count = [5,9,3,1]
所以,我尝试了以下代码: 第一行应该返回一个 python 行列表。我想看到第一个值:
mvv_list = mvv_count_df.select('mvv').collect()
firstvalue = mvv_list[0].getInt(0)
但我收到第二行的错误消息:
属性错误:getInt
原文由 a.moussa 发布,翻译遵循 CC BY-SA 4.0 许可协议
看,为什么你正在做的这种方式不起作用。首先,您尝试从 行 类型中获取整数,您收集的输出如下所示:
如果你采取这样的做法:
您将获得
mvv
值。如果你想要数组的所有信息,你可以采取如下方式:但是,如果您对另一列尝试相同的操作,您会得到:
发生这种情况是因为
count
是一种内置方法。并且该列与count
具有相同的名称。解决方法是将count
的列名更改为_count
:但是不需要这种解决方法,因为您可以使用字典语法访问该列:
它最终会奏效!