2
我有一個有一些文本列的熊貓數據框。我想要修改數據框,以便在所有行中都有一個用於每個不同單詞的列,以及一個布爾值,指示該文本列中該特定行的值是否出現該單詞。什麼是Python中標記化數據的高效數據結構?
我有一些代碼來做到這一點:
from pandas import *
a = read_table('file.tsv', sep='\t', index_col=False)
b = DataFrame(a['text'].str.split().tolist()).stack().value_counts()
for i in b.index:
a[i] = Series(numpy.zeros(len(a.index)))
for i in b.index:
for j in a.index:
if i in str.split(a['text'][j]:
a[i][j] = 1
然而,我的數據集是非常大的(200,000行及約70,000獨特字)。有沒有更有效的方式來做到這一點,不會毀掉我的電腦?
謝謝,這聽起來就像是我想要的。一個問題是,我仍然關心數據框中包含「標籤」的另一列(我確實打算將這些列轉換爲各種迴歸)。有沒有辦法讓稀疏矩陣,但仍然加入到標籤,所以我可以將它簡單地喂入sklearn ML算法? – araspion 2015-02-23 05:24:23
其實,從來沒有 - 我看到這並不重要,因爲你通常將X和Y作爲單獨的對象傳遞,對吧? – araspion 2015-02-23 05:27:32
是的,這是正確的。查看編輯 – JAB 2015-02-23 05:28:17