如何让“train\u test\u split”使用Dataframe?

camsedfj  于 2021-07-13  发布在  Spark
关注(0)|答案(1)|浏览(455)

**结案。**此问题不可复制或由打字错误引起。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。

两个月前关门了。
改进这个问题
我有一个包含10999行的复杂Dataframe。
我正在尝试运行xgboost进行机器学习。
我加载数据并尝试将其拆分,正如我在教程中看到的那样,以及在stackoverflow上发布的解决方案:如何使用pandas从一个Dataframe创建测试和训练样本?

X_train, X_test = train_test_split(df, test_size=0.2)

但这失败了:

TypeError: Expected sequence or array-like, got <class 'pyspark.sql.dataframe.DataFrame'>

但这是没有意义的,我怎么可能把一个Dataframe放入一个数组而不丢失很多有价值的信息呢?
所以有人建议我试试Pandas:

pandasDF = df.toPandas
X_train, X_test = train_test_split(pandasDF, test_size=0.2)

但这也失败了:

TypeError: Singleton array array(<bound method PandasConversionMixin.toPandas of DataFrame

如何将此Dataframe拆分为训练集和测试集?

gmol1639

gmol16391#

使用此选项:

pandasDF = df.toPandas()

如果需要时间,请在转换前使用此配置

spark.conf.set("spark.sql.execution.arrow.enabled", "true")

相关问题