如何切割具有未知列数的numpy数组?

问题描述 投票:1回答:1

我想将2d numpy数组切换到我选择的索引。例如,我有这个one.csv

111,222,333,444
1,2,3,4

我想把它切成例如

XX = array([[ 111.,  222.,  333.],
            [   1.,    2.,    3.]])

YY = array([ 444.,    4.])

让我说我不知道​​有多少指数,所以对于XXYY我做了

import numpy

data = numpy.loadtxt('one.csv', delimiter=",")


XX = data[:,0:len(data)]
YY = data[:,len(data)]

XXYY的结果如下

# XX
array([[ 111.,  222.],
       [   1.,    2.]])

# YY
array([ 333.,    3.])

我该如何解决这个问题?除了使用len(data)之外还有其他选择吗?

谢谢您的帮助。

python arrays csv numpy numpy-ndarray
1个回答
4
投票

对于您的具体示例,请使用此:

# all rows, and all columns but the last
XX = data[:, 0:-1]

# all rows and only the last column
YY = data[:, -1]

但一般来说,您可以使用data获取数组data.shape的形状,并根据需要对列进行切片。

© www.soinside.com 2019 - 2024. All rights reserved.