[英]Fast way to create pandas dataframe from pairs
我有一个很大的单词/标记对文件,像这样保存:
This/DT gene/NN called/VBN gametocide/NN
现在,我想将这些对以如下计数放入DataFrame:
DT | NN --
This| 1 0
Gene| 0 1
:
我尝试用一个对数进行计数的字典来执行此操作,然后将其放入DataFrame中:
file = open("data.txt", "r")
train = file.read()
words = train.split()
data = defaultdict(int)
for i in words:
data[i] += 1
matrixB = pd.DataFrame()
for elem, count in data.items():
word, tag = elem.split('/')
matrixB.loc[tag, word] = count
但这要花很长时间(文件有300000个)。 有更快的方法吗?
我认为这个问题非常相似...您为什么发表两次?
from collection import Counter
text = "This/DT gene/NN called/VBN gametocide/NN"
>>> pd.Series(Counter(tuple(pair.split('/')) for pair in text.split())).unstack().fillna(0)
DT NN VBN
This 1 0 0
called 0 0 1
gametocide 0 1 0
gene 0 1 0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.