从可变长度文本字符串创建数据框

时间:2017-04-27 16:55:16

标签: python arrays pandas numpy dataframe

我是numpy和pandas的新手。我正在尝试将单词及其索引添加到数据框中。文本字符串可以是可变长度的。

text=word_tokenize('this string can be of variable length')
df2 = pd.DataFrame({'index':np.array([]),'word':np.array([])})

for i in text:
    for i, row in df2.iterrows():
            word_val = text[i]
            index_val = text.index(i)
            df2.set_value(i,'word',word_val)
           df2.set_value(i,'index',index_val)    
print df2

2 个答案:

答案 0 :(得分:1)

要从字符串的每个单词创建一个DataFrame(可以是任意长度),您可以直接使用

df2 = pd.DataFrame(text, columns=['word'])

你的nltk“word_tokenize”为你提供了一个可用于提供列数据的单词列表,默认情况下,pandas会处理索引。

答案 1 :(得分:0)

只需将列表直接传递给DataFrame方法:

pd.DataFrame(['i', 'am', 'a', 'fellow'], columns=['word'])
     word
0       i
1      am
2       a
3  fellow

我不确定您是否要为列命名'索引'在这种情况下,值将与DataFrame本身的索引相同。命名专栏'索引'也不是一个好习惯。因为您无法使用df.column_name语法访问它,并且您的代码可能会让其他人感到困惑。