簡體   English   中英

Numpy loadtxt in python - 除了一些列

[英]Numpy loadtxt in python - except some colums

是否可以在 np.loadtxt 中加載除第一列或某些特定列以外的所有列?

請問 usecols = (0,) 是什么意思? 是否可以使用滑塊?

我有 55 列,我想加載除一列以外的所有列。 有沒有比寫usecols = (1, 2, 3, 4, 5, 6, 7)並繼續到 55 更好的方法?

我不認為有一種方法可以在不指定所有列的情況下排除某些列。

由於您只想排除一列,您不妨閱讀整個內容,然后使用data = data[1:]將其切出。

如果您真的不想這樣做,您可以使用usecols=range(1, 56)而不是輸入所有數字。

對於更通用的方法,您可以編寫一個 function,它采用列數和要排除的列列表,並自動創建usecols參數:

def loadtxt_excludecols(exclude_cols, num_cols, *args, **kwargs):
    cols = set(range(num_cols))
    cols -= set(exclude_cols)
    cols = sorted(list(cols))
    return np.loadtxt(*args, **kwargs, usecols=cols)

data = loadtxt_excluldecols([1, 10, 30], 50, 'filename.dat', ...other loadtxt args)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM