pyspark数据框架.那里意外地没有返回任何东西



那么我有一个包含一些股票数据的数据框,并且我正在使用左半连接创建该数据的一个子集,该子集具有一定数量的条目。Name列包含股票报价器。

ser = traindf.groupBy('Name').count().where(("count == 1006"))
selected_stocks = traindf.join(ser, ['Name'], 'leftsemi')

traindf是原始训练数据框架,当我执行

时,它返回预期的结果。
display(traindf.where('Name == "AMZN"'))

返回列表中名称为AMZN的所有行。但是,即使amazon在ser/selected_stocks中,当我执行

时,
display(selected_stocks.where('Name == "AMZN"'))

display(ser.where('Name == "AMZN"'))

上面写着"查询未返回结果"。但是,如果我执行

,它确实会返回amazon的值,以及其他股票代码以A开头的股票的值。
display(selected_stocks.filter(col('Name').like('A%'))

我需要像这样选择股票,通过它们的股票代码,为我在它们上运行的函数。如果有人能指出我正确的方向,为什么它不让我直接指定股票,我将不胜感激。

我已经尝试在一些虚拟数据上运行左半连接,类似于我在这里所做的,并使用在哪里选择数据,但它按预期工作。

编辑:我不知道是什么错了,所以我只是使用熊猫左半连接部分,然后把数据框回到一个火花数据框,它的工作原理。很奇怪。

能否检查column- Name中是否不包含空格

你可以在下面试试:

df1 = selected_stocks.withColumn("名字",修剪(selected_stocks.Name))

df1。where('Name == "AMZN"').show()

最新更新