我幾乎可以肯定,我忽略了一些非常明顯的東西,所以我問這個問題,希望能夠感到尷尬:我有一個pandas
數據框,其中有2000多個文本一列。我最初的目標是,並且仍然是計算每個文本中的單詞,並在該單詞數量的數據框中創建一個新列。Python:返回2000個文本列表中的字數
在努力簡化問題,我拿出文本列到使用字符串列表如下:
texts = data.text.tolist()
類型是list
和列表的len
是2113,這是數據幀中的行數。我目前的努力是:
word_counts = []
for text in texts:
count = len(re.findall(r"[a-zA-Z_]+", text))
word_counts.append(count)
對於我收到:TypeError: expected string or buffer
。
如果我運行一個單獨的文本的評價:
len(re.findall(r"[a-zA-Z_]+", texts[0]))
我得到預期的結果:2176
什麼我沒有看到?
編輯添加樣品:
texts[0].split()[:10]
['Thank', 'you', 'so', 'much', 'Chris.', 'And',
"it's", 'truly', 'a', 'great']
這些都是會談的成績單,所以一些標點符號,也許是幾號。
你能粘貼在這裏你的文章的一些例子嗎?對不起,但我很困惑爲什麼「TypeError:預期的字符串或緩衝區」發生 – linpingta
你的文本中是否有下劃線或破折號?或者空格分隔每個單詞? – Jakub