我有一个48790行的pyspark数据框,其中37109有[income == 0]。 我想将这37109行减少到一个随机的10 000行。这样我只剩下10 000行,收入== 0(我正在为ML算法平衡类)。
如何获取数据帧的10000行?
我试过了:
StructType(List(StructField(features,VectorUDT,true),StructField(income,DoubleType,true)))
但它会出错:
ros1_bridge
这是data6架构:
Traceback (most recent call last):
File "bin/ros1_bridge_generate_factories", line 11, in <module>
from ros1_bridge import generate_cpp
File "/home/ros/ros2_ws/src/ros2/ros1_bridge/ros1_bridge/__init__.py", line 13, in <module>
import genmsg
ImportError: No module named 'genmsg'
答案 0 :(得分:2)
当我使用DataFrame的“except”功能时,我遇到了与Spark版本2.1.0相同的问题。这非常令人困惑,似乎是“除”功能的错误。
“except”或“subtract”运算符将触发LeftAnti计划,然后将调用“JoinSelection.apply”函数,其中将调用“ExtractEquiJoinKeys.unapply”函数,然后将调用“Literal.default”函数, “Literal.default”函数不支持VectorUDT的dataType,只是抛出运行时异常。这就是这个问题的原因。