Skip to main content
 首页 » 编程设计

python之如何为 PySpark 数据框创建 seaborn 线图

2024年09月03日27JeffreyZhao

我有一个包含三列的数据框,我正在尝试使用 Seaborn 库绘制线图,但它抛出一个错误,指出 'DataFrame' 对象没有属性 'get'。这是我的测试数据框

Age variable    value 
31  Overall 69.76751118 
31  Potential   69.76751118 
31  Growth  0 
34  Overall 68.91176471 
34  Potential   68.91176471 
34  Growth  0 
28  Overall 69.05803996 
28  Potential   69.05803996 
28  Growth  0.24643197 

这就是我在读取 csv 文件后使用 seaborn 线图尝试做的事情

test = spark.read.csv("test.csv", inferSchema=True, header=True) 
sns.lineplot(x = "Age", y = "value", hue = "variable", data = test) 

我得到的错误是这个

AttributeError: 'DataFrame' object has no attribute 'get' 

但是,当我将数据框转换为 Pandas 数据框并使用完全相同的 seaborn 代码时,它会起作用

test_df = test.toPandas() 
sns.lineplot(x = "Age", y = "value", hue = "variable", data = test_df) 

我是不是对 Spark 数据帧做错了什么。

请您参考如下方法:

Spark DataFrame 和 Pandas DataFrame 尽管共享许多相同的功能,但在分配数据的位置和方式上有所不同。

这一步是正确的:

test_df = test.toPandas() 

在使用 seaborn(甚至 matplotlib)绘图之前,您总是需要收集数据