这个是我的代码
df=pd.read_csv('data.csv')
prepare_data=df[['words']]
all_word=[]
for i in prepare_data['words']:
all_word.extend(i)
word_dict = pd.DataFrame(pd.Series(all_word).value_counts())
word_dict['id_1'] = list(range(1, len(word_dict) + 1))
prepare_data['w2v'] = prepare_data['words'].apply(lambda x: list(word_dict['id_1'][x]))
这个是data.csv
这是报的错误
请问我该如何修改代码呢?
ps(应该是第八行出现的问题,前面几行都可以通)
list(word_dict['id_1'][x]这里的x是字符,在数组中找不到这样键名,也不是索引,所以报错。
补充:
根据提供的数据及代码,主要出在prepare_data=df[['words']],取出的一个一列数据框,将prepared_data改写一下即可:
df=pd.read_csv('t1.csv')
prepared_data=df[['title','id']]
prepared_data['words'] = prepared_data['title'].apply(
lambda x: re.findall('[\x80-\xff]{3}|[\w\W]', x))
#删去prepare_data=df[['words']]
#后跟其他代码