Вы имели в виду иметь список строк вместо списка списков, содержащих строки?
Мне удалось получить основы для каждого слова, когда я переформатировал ваш код следующим образом:
from snowballstemmer import TurkishStemmer
df = [
'musteri',
'hizmetlerine',
'cabuk',
'baglaniyorum',
'konuda',
'yardımcı',
'oluyorlar',
'islemlerimde'
]
turkStem = TurkishStemmer()
data_words_nostops = [turkStem.stemWord(word) for word in df]
print(data_words_nostops)
Если у вас есть список списков строк (скажем, это то, что вы определили как df
), и вы хотите свести его к одному списку слов, вы можете сделать что-то вроде этого:
df = [
['musteri', 'hizmetlerine', 'cabuk', 'baglaniyorum'],
['konuda', 'yardımcı', 'oluyorlar', 'islemlerimde']
]
flattened_df = [item for sublist in df for item in sublist]
# Output:
# ['musteri', 'hizmetlerine', 'cabuk', 'baglaniyorum', 'konuda', 'yardımcı', 'oluyorlar', 'islemlerimde']
Кредит за вышеупомянутое идет в это сообщение StackOverflow.
В качестве альтернативы, вы можете просто исправить цикл, чтобы решить проблему с вашим исходным макетом:
df = [
['musteri', 'hizmetlerine', 'cabuk', 'baglaniyorum'],
['konuda', 'yardımcı', 'oluyorlar', 'islemlerimde']
]
turkStem = TurkishStemmer()
all_stem_lists = []
for word_group in df:
output_stems = []
for word in word_group:
stem = turkStem.stemWord(word)
output_stems.append(stem)
all_stem_lists.append(output_stems)
print(all_stem_lists)