我在具有两列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)
但是我在第二行收到一条错误消息:
AttributeError:getInt
瞧,为什么您这样做的方式行不通。首先,您尝试从行类型获取整数,collect的输出如下所示:
>>> mvv_list = mvv_count_df.select('mvv').collect()
>>> mvv_list[0]
Out: Row(mvv=1)
如果您采取这样的做法:
>>> firstvalue = mvv_list[0].mvv
Out: 1
您将获得mvv
价值。如果您需要数组的所有信息,则可以采取以下方法:
>>> mvv_array = [int(row.mvv) for row in mvv_list.collect()]
>>> mvv_array
Out: [1,2,3,4]
但是,如果对另一列尝试相同的操作,则会得到:
>>> mvv_count = [int(row.count) for row in mvv_list.collect()]
Out: TypeError: int() argument must be a string or a number, not 'builtin_function_or_method'
发生这种情况是因为它count
是一种内置方法。并且该列的名称与相同count
。一种解决方法是将列名称更改count
为_count
:
>>> mvv_list = mvv_list.selectExpr("mvv as mvv", "count as _count")
>>> mvv_count = [int(row._count) for row in mvv_list.collect()]
但是不需要此解决方法,因为您可以使用字典语法访问列:
>>> mvv_array = [int(row['mvv']) for row in mvv_list.collect()]
>>> mvv_count = [int(row['count']) for row in mvv_list.collect()]
它将最终成功!
但我得到第二行的错误消息: AttributeError:getInt
我有以下xml数据集: 我想得到一个分别位于名称“xyz”和“abc”之后的所有单词的列表,例如xyz=[word1,word2,word3,…]abc=[word4,word5,word6,…] 我尝试了以下解决方案: 但我不知道如何引用name=xyz的父对象,然后提取子对象的单词。 谢谢你的帮助!!
问题内容: 我在以字符串格式导入的pandas DataFrame中有一个字段。它应该是日期时间变量。如何将其转换为datetime列,然后根据日期进行过滤。 例: DataFrame Name: raw_data Column Name: Mycol Value Format in Column: ‘05SEP2014:00:00:00.000’ 问题答案: 使用该函数,指定一种格式以匹配您的数
问题内容: 我有一个日期列(称为“时间”),其中包含天/小时/分钟等(timedelta)。我在数据框中创建了一个新列,我想将“时间”列转换为秒,并将其放入每一行的新列中。 有人有指针吗?我在互联网上能找到的就是如何转换您的列,而不是创建一个新列并转换另一个列。 先感谢您! 问题答案: 我认为您需要: 样品: 如果需要转换为:
问题内容: l = [“a”, “b”, “c”, “d”, “e”] 我想将此列表转换为字典,例如: 因此,基本上,偶数将是关键,而赔率将是值。我知道我可以使用“非Python”方式(例如使用if语句的for循环)来完成此操作,但我相信应该有一种“ Python”方式来完成此任务。因此,感谢您的帮助:) 问题答案: 使用通常的石斑鱼食谱,您可以执行以下操作: Python 2: Python 3
问题内容: 将a 转换为同时保持Queue顺序的最快方法是什么? 问题答案: 最快的方法是首先使用LinkedList,它可用作列表或队列。 否则您需要复印 注意:处理PriorityQueue时,请使用循环,轮询每个元素并添加到列表中。要列出的PriorityQueue不维护堆顺序。