使用 Spyder / Python 打开 .npy 文件

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/33885051/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-19 14:09:22  来源:igfitidea点击:

Using Spyder / Python to Open .npy File

pythonfilenumpy

提问by iron2man

Sorry. I'm just now learning Python and everything there is to do with data analysis.

对不起。我现在正在学习 Python 以及与数据分析有关的一切。

How on earth do I open a .npy file with Spyder? Or do I have to use another program? I'm using a Mac, if that is at all relevant.

我到底如何用 Spyder 打开 .npy 文件?还是我必须使用其他程序?我正在使用 Mac,如果这完全相关的话。

回答by MaxNoe

*.npyfiles are binary files to store numpy arrays. They are created with

*.npyfiles 是用于存储 numpy 数组的二进制文件。它们是用

import numpy as np

data = np.random.normal(0, 1, 100)
np.save('data.npy', data)

And read in like

并阅读喜欢

import numpy as np
data = np.load('data.npy')

回答by J. Yu

.npyfiles are binary files. Do not try to open it with Spyder or any text editor; what you see may not make sense to you.

.npy文件是二进制文件。不要尝试用 Spyder 或任何文本编辑器打开它;你所看到的可能对你没有意义。

Instead, load the .npyfile using the numpymodule (reference: http://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.load.html).

相反,.npy使用numpy模块加载文件(参考:http: //docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.load.html)。

Code sample:

代码示例:

First, import numpy. If you do not have it, install (here's how: http://docs.scipy.org/doc/numpy/user/install.html)

首先,导入numpy。如果没有,请安装(方法如下:http: //docs.scipy.org/doc/numpy/user/install.html

>>> import numpy as np

Let's set a random numpy array as variable array.

让我们将一个随机的 numpy 数组设置为变量array

>>> array = np.random.randint(1,5,10)
>>> print array
[2 3 1 2 2 3 1 2 3 3]

To export to .npyfile, use np.save(FILENAME, OBJECT)where OBJECT = array

要导出到.npy文件,请使用np.save(FILENAME, OBJECT)whereOBJECT = array

>>> np.save('test.npy', array)

You can load the .npyfile using np.load(FILENAME)

您可以.npy使用加载文件np.load(FILENAME)

>>> array_loaded = np.load('test.npy')

Let's compare the original arrayvs the one loaded from file (array_loaded)

让我们比较一下原始array文件和从文件 ( array_loaded)加载的文件

>>> print 'Loaded:  ', array_loaded
Loaded:   [2 3 1 2 2 3 1 2 3 3]

>>> print 'Original:', array
Original: [2 3 1 2 2 3 1 2 3 3]

回答by Carlos Cordoba

Given that you asked for Spyder, you need to do two things to import those files:

鉴于您要求使用 Spyder,您需要做两件事来导入这些文件:

  1. Select the pane called Variable Explorer
  2. Press the import button (shown below), select your .npyfile and present Ok.

    import button

  1. 选择名为的窗格 Variable Explorer
  2. 按导入按钮(如下所示),选择您的.npy文件并呈现Ok.

    导入按钮

Then you can work with that file in your current Python or IPython console.

然后,您可以在当前的 Python 或 IPython 控制台中使用该文件。

回答by Mona Jalal

import numpy as np
from matplotlib import pyplot as plt
import matplotlib
import glob


for filename in glob.glob("*.*"):
    if '.npy' in filename:
        img_array = np.load(filename, allow_pickle=True)
        plt.imshow(img_array, cmap="gray")
        img_name = filename+".png"
        matplotlib.image.imsave(img_name, img_array)
        print(filename)

creates a png file for each image in the current directory that is of the format .npy. For example, I have this RGB image enter image description hereand its depth image is in .npy format. Converting it to png gives me so: enter image description here

为当前目录中的每个图像创建一个 .npy 格式的 png 文件。例如,我有这个 RGB 图像 在此处输入图片说明,它的深度图像是 .npy 格式。将它转换为 png 给了我这样的: 在此处输入图片说明