首页 > 解决方案 > 从 Azure Databricks 集群中提取时,Pandas 将功能识别为对象 dtype

问题描述

我正在从 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 数据帧

熊猫数据类型

火花数据框的图像

标签: pythonpandasdataframeazure-databricks

解决方案


这是一种方法。

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

#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 数据框重复此过程。


推荐阅读