如何在pyspark环境中使用matplotlib和pandas绘图?
我有一个非常大的pyspark数据帧,我取了一个样本并将其转换为pandas数据帧如何在pyspark环境中使用matplotlib和pandas绘图?,pandas,apache-spark,matplotlib,pyspark,pyspark-sql,Pandas,Apache Spark,Matplotlib,Pyspark,Pyspark Sql,我有一个非常大的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 10021
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
>>>array([[<matplotlib.axes._subplots.AxesSubplot object at 0x7f60f6fd0750>]], dtype=object)
我想绘制列“beer\u freq”
情节没有出现。。。
它给出如下结果:
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
>>>array([[<matplotlib.axes._subplots.AxesSubplot object at 0x7f60f6fd0750>]], dtype=object)
>>数组([[]],dtype=object)
似乎我无法在pyspark环境中使用matplotlib和pandas dataframe编写通用python代码来绘制图形
如果我调用plt.show()
什么也不发生…请尝试以下操作:
import matplotlib.pyplot as plt
%matplotlib inline
%DataRicks中不支持matplotlib内联。
可以使用display()显示matplotlib图形。例如,请参见它不可访问。如Gaurav所述,使用
display()
如下:
col_df = heavy_pivot.select('beer_freq')
display(col_df)
这样,您不需要将其更改为pandas dataframe,最终的绘图看起来是一样的。显示后,使用输出下的绘图按钮选择直方图
来源:从开始,您可以使用%matplotlib inline
%matplotlib内联
作为pd进口熊猫
iris=pd.read\U csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
虹膜历史('萼片宽度',容器=100)
你调用了plt.show()
?@DavidG是的,如果我添加plt.show()
什么都不会发生。这太奇怪了。截至,支持%matplotlib inline
,因此您不再需要调用display()