【问题标题】:Visualizing Pandas DF using numpy使用 numpy 可视化 Pandas DF
【发布时间】:2020-12-12 12:15:00
【问题描述】:

我有一个 50 x 300 的 pandas 数据框,标题为嵌入,并希望将其视为一个 numpy 数组。我正在使用下面的函数 view_samples

def view_samples(samples, m, n): 
    fig, axes = plt.subplots(figsize=(10, 10), nrows=m, ncols=n, sharey=True, sharex=True) 
    for ax, img in zip(axes.flatten(), samples): 
        ax.xaxis.set_visible(False) 
        ax.yaxis.set_visible(False) 
        im = ax.imshow(1-img.reshape((50,300)), cmap='Greys_r') 
    return fig, axes

并按如下方式运行:

faces = [embeddings.to_numpy()]
_ = view_samples(faces, 1, 4)

当前结果如下所示。只有第一张(最左边)是正确的,其他图片不正确。

鉴于错误,我也在尝试重写函数,以便不包含子图,即只包含最左边的子图。

【问题讨论】:

    标签: pandas numpy matplotlib


    【解决方案1】:

    问题出在这里:

    faces = [embeddings.to_numpy()]
    

    那是len(faces)==1。所以:

    for ax, img in zip(axes.flatten(), samples): 
    

    你只能画一次。也许你的意思是:

    faces = embeddings.to_numpy()
    

    【讨论】:

    • 我实际上得到了 len(faces)==50,当我使用 faces = embeddings.to_numpy() 时:无法将大小为 300 的数组重新整形为形状 (50,300) 所以我将其更改为 (10, 30) 并且成功了!
    • 如果你只有一张脸,你为什么会期待 4 个情节?
    • 我重写了它以期待一个情节。我试图在最终目标中实现这一目标。
    猜你喜欢
    • 1970-01-01
    • 2017-11-06
    • 2016-10-04
    • 1970-01-01
    • 2013-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多