Olá, Akhenaton. Tudo bem?
Para verificarmos os valores resultantes de cada indexação/slicing, podemos executar cada um dos dois.
Vamos executar a primeira alternativa:
dataset[:][2]
Saída: array([ 1990. , 37123. , 72832.16])
Agora, vamos executar a outra alternativa:
dataset[:, 2]
Saída:
array([ 88078.64, 106161.94, 72832.16, 124549.07, 92612.1 , 97497.73,
56445.2 , 112310.44, 120716.27, 76566.49, 71647.59, 73919.53,
112732.99, 53183.38, 127488.42, 59910.4 , 61118.59, 88552.39,
62696.69, 101726.3 , 106147.38, 94564.4 , 133529.84, 125684.65,
121596.21, 71367.1 , 95347.75, 105432.84, 57045.27, 120432.7 ,
...
76310.01, 120481.74, 54559.18, 92957.64, 127810.06, 73311.75,
65138.03, 90141.47, 71160.36, 67539.79, 67664.86, 68652.16,
114728.74, 141645.08, 126247.84, 128852.21, 132384.76, 129415.33,
89536.82, 87975.3 , 77675.79, 58881.67, 55081.99, 118826.44,
137627.62, 51759.58, 51667.06, 68934.03, 122110.9 , 90381.47])
Como podemos ver, os resultados são diferentes. Então, o que está acontecendo aqui?
No caso do dataset[:][2]
, estamos selecionando todas as linhas e, de todas as linhas, escolhemos apenas a linha do índice 2. Por isso temos esse resultado curtinho.
No caso do dataset[:, 2]
, estamos selecionando todas as linhas, porém, queremos apenas o índice 2 de cada linha, ou seja, o último valor de cada linha. Por isso recebemos como retorno um array de 1 dimensão, pois estamos pedindo apenas os valores do índice 2 de cada linha.
Por estes motivos, você recebeu resultados diferentes.
Espero ter ajudado, Akhenaton. Se tiver mais alguma dúvida, estou à disposição. Bons estudos =)
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!