我是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
答案 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
语法访问它,并且您的代码可能会让其他人感到困惑。