我正在尝试为我的数据框中的所有列绘制直方图。
我导入了 pyspark
和 matplotlib
。
df 是我的数据框变量。
plt 是 matplotlib.pyplot
变量
我能够为单个列绘制/绘制直方图,如下所示:
bins, counts = df.select('ColumnName').rdd.flatMap(lambda x: x).histogram(20)
plt.hist(bins[:-1], bins=bins, weights=counts)
但是当我尝试为所有变量绘制它时,我遇到了问题。这是我到目前为止的 for 循环:
for x in range(0, len(df.columns)):
bins, counts = df.select(x).rdd.flatMap(lambda x: x).histogram(20)
plt.hist(bins[:-1], bins=bins, weights=counts)
我该怎么做?提前致谢。
最佳答案
作为 for
循环方法的替代方法,我认为您可以试试这个:
df.hist(bins=30, figsize=(15, 10))
这将为 df
DataFrame 中的每个数字属性绘制直方图。此处,bins
和 figsize
参数仅用于自定义输出。
关于python - 绘制数据框中所有列的直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49780491/