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