切片:[:,:-1]和[:,-1]是什么意思?

时间:2019-11-20 15:56:47

标签: python

我有一个任务,他们像a_list [:,:-1],a_list [:,-1]一样对获得的数据进行切片

csv文件中的数据如下(前两行):

6.7240e-02,0.0000e+00,3.2400e+00,0.0000e+00,4.6000e-01,6.3330e+00,1.7200e+01,5.2146e+00,4.0000e+00,4.3000e+02,1.6900e+01,3.7521e+02,7.3400e+00,2.2600e+01
9.2323e+00,0.0000e+00,1.8100e+01,0.0000e+00,6.3100e-01,6.2160e+00,1.0000e+02,1.1691e+00,2.4000e+01,6.6600e+02,2.0200e+01,3.6615e+02,9.5300e+00,5.0000e+01

代码如下:

train_data = numpy.loadtxt("data.csv", 
delimiter=",")
X_train, t_train = train_data[:,:-1], train_data[:,-1]

分别打印X_train和t_train时

enter image description here

仍然不太确定[:,:-1]和[:,-1]确实如此

2 个答案:

答案 0 :(得分:0)

获取具有较小值的小数组。

bundles.Add(new StyleBundle("~/Content/css").Include(
                      "~/Content/bootstrap.min.css",
                      "~/Content/site.css"));

并对其进行测试。


import numpy as np

arr = np.array([ 
    [1,2,3], 
    [4,5,6], 
    [7,8,9] 
])

它给出了最后一列-所有行(print( arr[ : , -1 ] ) array([3, 6, 9]) )中行([-1])中的最后一个元素


[:]

它给出除最后一列以外的所有元素-所有行(print( arr[ : , :-1 ] ) array([[1, 2], [4, 5], [7, 8]]) )中除最后一个([:-1])以外的所有元素。

答案 1 :(得分:0)

[:,:-1]:这将占用所有行以及除最后一列以外的所有内容。

[:,-1]:这将占用所有行和所有列。

:表示“全部”,索引中的-1表示最后一行/列。

但是,[:,:-1]中的“:-1”对索引进行算术运算-此处的意思是'列总数-1'。