Pandas 从 Azure Databricks 集群中提取时将特征识别为对象 dtype

Pandas recognizes features as object dtype when pulling from Azure Databricks cluster

我正在从 azure databricks 集群读取数据帧并将其转换为 pandas 数据帧。 Pandas 将所有功能的数据类型声明为对象而不是 int64。

唯一的解决方案是使用 astype 并分别隐藏每一列,但我有 122 列...

pd_train = df_train.toPandas() 
pd_test = df_test.toPandas()

pd_train.dtypes

pd_train 显示训练集的 pandas 数据框 pd_test 显示测试集的 pandas 数据框 它们都是 spark 数据帧

这是一种方法。

首先你可以获得所有的列名,

#Get column names 
columns = pd_train.columns

接下来您可以使用 pd.to_numeric 和列名将所有列转换为 int64

#Convert to numeric
pd_train[columns] = pd_train[columns].apply(pd.to_numeric, errors='coerce')

然后您可以对 pd_test 数据帧重复此过程。