gpt4 book ai didi

python - 读取 pandas 数据框时出现 pyspark 类型错误

转载 作者:行者123 更新时间:2023-11-28 21:45:06 37 4
gpt4 key购买 nike

我将一些 CSV 文件读入 pandas,对其进行了很好的预处理,并将 dtypes 设置为所需的 float、int、category 值。但是,当尝试将其导入 spark 时出现以下错误:

Can not merge type <class 'pyspark.sql.types.DoubleType'> and <class 'pyspark.sql.types.StringType'>

在尝试跟踪它一段时间后,我找到了一些问题的来源 -> 查看 CSV 文件:

"myColumns"
""
"A"

红色变成 pandas 像:small = pd.read_csv(os.path.expanduser('myCsv.csv'))

并且无法将其导入以产生 Spark :

sparkDF = spark.createDataFrame(small)

目前我使用的是 Spark 2.0.0

可能有多个列受到影响。我该如何处理这个问题?

enter image description here

最佳答案

您需要显式定义 spark DataFrame 架构并将其传递给 createDataFrame 函数:

from pyspark.sql.types import *
import pandas as pd

small = pdf.read_csv("data.csv")
small.head()
# myColumns
# 0 NaN
# 1 A
sch = StructType([StructField("myColumns", StringType(), True)])

df = spark.createDataFrame(small, sch)
df.show()
# +---------+
# |myColumns|
# +---------+
# | NaN|
# | A|
# +---------+

df.printSchema()
# root
# |-- myColumns: string (nullable = true)

关于python - 读取 pandas 数据框时出现 pyspark 类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39888188/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com