我有一个大表(文本格式的数字),我想用numpy.genfromtxt()
加载它。我想忽略第一个n列,比如5。我不知道表的大小(行数或列数)。
我看到genfromtxt()
有一个选项skip_header
,该选项允许跳过指定数量的头行,但对于列似乎没有这样的选项。这里有一个usecols
选项,但是我必须指定要保留的列号,而不是要丢弃的列号(我事先不知道这个数字)。
显然,我可以加载整个内容,然后扔掉第一个n列,但这并不优雅,而且在内存方面是浪费的。
我还可以在文件中找到峰值,找到列数,然后构造usecols
参数,但这相当混乱。
有什么好的办法来解决这个问题吗?是否有一些隐藏/未记录的论点可供我使用?
在较新版本的Numpy中,
np.genfromtxt
可以接受一个iterable参数,因此可以将读取的文件包装在生成行的生成器中,跳过第一个N
列。如果你的号码是空格分隔的对于较旧版本的numpy,查看第一行以发现列数并没有那么困难:
相关问题 更多 >
编程相关推荐