Python中np.loadtxt如何排除指定列?相关参数及简便方法问询
NumPy loadtxt列选择相关问题解答
问题1:能否使用np.loadtxt加载除第一列或某些特定列之外的所有列?
可以,通过usecols参数即可实现。你只需要明确指定需要加载的列索引,就能间接排除不需要的列。
问题2:参数usecols=(0,)是什么含义?是否可以使用切片?
usecols=(0,)表示仅加载数据中的第1列(NumPy的列索引从0开始计数)。这里的逗号必须保留,否则会被识别为单个整数而非元组,导致参数报错。usecols不支持直接使用切片语法(比如0:3),但可以通过range()生成连续索引的元组来替代,例如usecols=tuple(range(3))就能加载前3列。
问题3:55列数据想加载除某一列外的所有列,有没有简便实现方式?
有两种高效方法:
- 方法一:生成所有列索引后排除目标列
比如要排除索引为exclude_col的列,代码如下:exclude_col = 2 # 假设要排除第3列 usecols = tuple(i for i in range(55) if i != exclude_col) data = np.loadtxt("your_data.txt", usecols=usecols) - 方法二:先加载全部数据再删除目标列(适合数据量不大的场景)
data = np.loadtxt("your_data.txt") exclude_col = 2 data = np.delete(data, exclude_col, axis=1)
内容的提问来源于stack exchange,提问作者Elena Greg
相关产品推荐
相关产品推荐

