【发布时间】:2018-10-18 19:42:33
【问题描述】:
我有一个非常大的 pyspark 数据框,我提取了一个样本并将其转换为 pandas 数据框
sample = heavy_pivot.sample(False, fraction = 0.2, seed = None)
sample_pd = sample.toPandas()
数据框如下所示:
sample_pd[['client_id', 'beer_freq']].head(10)
client_id beer_freq
0 1000839 0.000000
1 1002185 0.000000
2 1003366 1.000000
3 1005218 1.000000
4 1005483 1.000000
5 100964 0.434783
6 101272 0.166667
7 1017462 0.000000
8 1020561 0.000000
9 1023646 0.000000
我想绘制列"beer_freq"的直方图
import matplotlib.pyplot as plt
matplotlib.pyplot.switch_backend('agg')
sample_pd.hist('beer_freq', bins = 100)
剧情没有出现…… 它给出的结果如下:
>>>array([[<matplotlib.axes._subplots.AxesSubplot object at 0x7f60f6fd0750>]], dtype=object)
似乎我无法使用 matplotlib 和 pandas 数据框编写通用 python 代码来在 pyspark 环境中绘制图形。
如果我打电话给plt.show() 什么都不会发生...
【问题讨论】:
-
你打电话给
plt.show()了吗? -
@DavidG 是的,如果我添加
plt.show()没有任何反应。太奇怪了。
标签: pandas apache-spark matplotlib pyspark pyspark-sql