将 .txt 文件中的整数读入 numpy 数组 [英] Read ints from .txt file into numpy array

查看:90
本文介绍了将 .txt 文件中的整数读入 numpy 数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从这个问题中描述的简单 .txt 数组中读取 4 个整数genfromtxt:从空格分隔的 .txt 文件中读取整数>

但我想要它作为 2D numpy 数组.

def read_data():data = np.genfromtxt('Skin_NonSkin.txt', dtype=(int, int, int, int))打印类型(数据)打印数据形状打印数据[0]打印类型(数据[0])打印数据[0].shape打印数据[0][1]返回数据

它给了我

(245057L,)(74, 85, 123, 1)<输入'numpy.void'>()85

那么如何正确读取数据或将其转换为形状为 (245057,4) 的二维 nampy 数组?

解决方案

只需使用:

data = np.genfromtxt('Skin_NonSkin.txt', dtype=np.int32)

您正在创建 (int,int,int,int) 的一维数组,但您真正想要的是 np.int32 的二维数组.

I'm tring to read 4 ints from simple .txt array as described in this question genfromtxt : read ints from space separated .txt file

but I want it as 2D numpy array.

def read_data():
    data = np.genfromtxt('Skin_NonSkin.txt', dtype=(int, int, int, int))

    print type(data)
    print data.shape
    print data[0]
    print type(data[0])
    print data[0].shape
    print data[0][1]

    return data

it gives me

<type 'numpy.ndarray'>
(245057L,)
(74, 85, 123, 1)
<type 'numpy.void'>
()
85

So how to properly read the data or convert it to 2D nampy array with shape (245057,4)?

解决方案

just use:

data = np.genfromtxt('Skin_NonSkin.txt', dtype=np.int32)

You are creating a 1D array of (int,int,int,int) but what you really want is a 2D array of np.int32.

这篇关于将 .txt 文件中的整数读入 numpy 数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆