Я написал следующий код для создания пакета слов:
count_vect = CountVectorizer()
final_counts = count_vect.fit_transform(data['description'].values.astype('U'))
vocab = count_vect.get_feature_names()
print(type(final_counts)) #final_counts is a sparse matrix
print("--------------------------------------------------------------")
print(final_counts.shape)
print("--------------------------------------------------------------")
print(final_counts.toarray())
print("--------------------------------------------------------------")
print(final_counts[769].shape)
print("--------------------------------------------------------------")
print(final_counts[769])
print("--------------------------------------------------------------")
print(final_counts[769].toarray())
print("--------------------------------------------------------------")
print(len(vocab))
print("--------------------------------------------------------------")
Я получаю следующий вывод:
<class 'scipy.sparse.csr.csr_matrix'>
--------------------------------------------------------------
(770, 10252)
--------------------------------------------------------------
[[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
...
[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]]
--------------------------------------------------------------
(1, 10252)
--------------------------------------------------------------
(0, 4819) 1
(0, 2758) 1
(0, 3854) 2
(0, 3987) 1
(0, 1188) 1
(0, 3233) 1
(0, 981) 1
(0, 10065) 1
(0, 9811) 1
(0, 8932) 1
(0, 9599) 1
(0, 10150) 1
(0, 7716) 1
(0, 10045) 1
(0, 5783) 1
(0, 5500) 1
(0, 5455) 1
(0, 3234) 1
(0, 7107) 1
(0, 6504) 1
(0, 3235) 1
(0, 1625) 1
(0, 3591) 1
(0, 6525) 1
(0, 365) 1
: :
(0, 5527) 1
(0, 9972) 1
(0, 4526) 3
(0, 3592) 4
(0, 10214) 1
(0, 895) 1
(0, 10062) 2
(0, 10210) 1
(0, 1246) 1
(0, 9224) 2
(0, 4924) 1
(0, 6336) 2
(0, 9180) 8
(0, 6366) 2
(0, 414) 12
(0, 1307) 1
(0, 9309) 1
(0, 9177) 1
(0, 3166) 1
(0, 396) 1
(0, 9303) 7
(0, 320) 5
(0, 4782) 2
(0, 10088) 3
(0, 4481) 3
--------------------------------------------------------------
[[0 0 0 ... 0 0 0]]
--------------------------------------------------------------
10252
--------------------------------------------------------------
Понятно, что существует 770 документов и 10 252 уникальных словав корпусе.Я путаюсь, почему эта строка print(final_counts[769])
в моем коде печатается так:
(0, 4819) 1
(0, 2758) 1
(0, 3854) 2
(0, 3987) 1
(0, 1188) 1
(0, 3233) 1
(0, 981) 1
(0, 10065) 1
(0, 9811) 1
(0, 8932) 1
(0, 9599) 1
(0, 10150) 1
(0, 7716) 1
(0, 10045) 1
(0, 5783) 1
(0, 5500) 1
(0, 5455) 1
(0, 3234) 1
(0, 7107) 1
(0, 6504) 1
(0, 3235) 1
(0, 1625) 1
(0, 3591) 1
(0, 6525) 1
(0, 365) 1
: :
(0, 5527) 1
(0, 9972) 1
(0, 4526) 3
(0, 3592) 4
(0, 10214) 1
(0, 895) 1
(0, 10062) 2
(0, 10210) 1
(0, 1246) 1
(0, 9224) 2
(0, 4924) 1
(0, 6336) 2
(0, 9180) 8
(0, 6366) 2
(0, 414) 12
(0, 1307) 1
(0, 9309) 1
(0, 9177) 1
(0, 3166) 1
(0, 396) 1
(0, 9303) 7
(0, 320) 5
(0, 4782) 2
(0, 10088) 3
(0, 4481) 3
Первый индекс - это индекс документа.Я печатаю вектор 769-го документа (начиная с 0).Таким образом, первый индекс должен был быть 769 вместо 0, например, (769, 4819) 1
.Почему не так?