python 使用PySpark和NumPy的现成数据的直方图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 使用PySpark和NumPy的现成数据的直方图相关的知识,希望对你有一定的参考价值。

from typing import Iterable

from numpy import histogram2d, array, ndarray, linspace
from pyspark.sql import DataFrame
import matplotlib.pyplot as plt


def _hist(it: Iterable[list]) -> Iterable[ndarray]:
    arr = array(list(it))
    h, *_ = histogram2d(
        arr[:, 0],
        arr[:, 1],
        bins=[1000, 200],
        range=[[0, 8000], [-50, 50]]
    )
    yield h
    return 


df: DataFrame
hist = (
    df
    .select('interest0', 'interest1')
    .rdd
    .map(list)
    .mapPartitions(_hist)
    .sum()
)
xedges = linspace(0, 8000, 1000+1)
yedges = linspace(-50, 50, 200+1)


plt.figure()
plt.pcolormesh(xedges, yedges, hist.T)
plt.show()

以上是关于python 使用PySpark和NumPy的现成数据的直方图的主要内容,如果未能解决你的问题,请参考以下文章

删除在 pyspark 中使用 numpy.savetxt 创建的 csv 文件

PySpark 可以使用 numpy 数组吗?

如何用 Pyspark 的 SVM 拟合两个 numpy 矩阵?

pyspark:ImportError:没有名为 numpy 的模块

在 pandas udf pyspark 中使用 numpy

pyspark:将稀疏局部矩阵转换为 RDD