2017-09-26 100 views

回答

0

比方說,你有你已經使用

df = pandas.read_csv('dataset.csv') 

生成的數據幀DF你會然後通過執行以下操作字計數添加新列:

df['new_column'] = df.columnToCount.apply(lambda x: len(str(x).split(' '))) 

記住分裂的空間很重要,因爲你正在分裂新詞。在執行此操作之前,您可能需要刪除標點符號或數字並將其縮小爲小寫。

df = df.apply(lambda x: x.astype(str).str.lower()) 
df = df.replace('\d+', '', regex = True) 
df = df.replace('[^\w\s\+]', '', regex = True) 
+0

爲什麼不使用NLTK字標記生成器? – Dark

+0

這是一個選項。 – muninn

0
from collections import Counter 

df['new_column'] = df['count_column'].apply(lambda x: Counter(" ".join(x).split(" ")).items()) 
+0

這需要您將'count_column'中的每個文本單元格分割成單詞列表。 (如果'count_column'中的每個單元格都包含一個單獨的字符串,則這會計算字符數。)另外,如果我錯過了某些顯而易見的內容,對不起,爲什麼'Counter(''.join(x).split(''))'? 'Counter(x)'沒有達到相同的結果嗎? **編輯:**加入然後拆分的一個原因是爲了確保您分解列表中包含多個空格分隔的單詞的任何字符串。 –

+0

@PeterLeimbigler如果按空格分割,你會如何計算字符? –

+0

在字符串上運行'''.join(a_string_variable)'會在字符串中的每個字符之間插入一個空格。 –

相關問題