pyLDAvis库prepare
方法在使用pandas库时崩溃了。
这是代码:
def load_R_model(filename):
with open(filename, 'r') as j:
data_input = json.load(j)
data = {'topic_term_dists': data_input['phi'],
'doc_topic_dists': data_input['theta'],
'doc_lengths': data_input['doc.length'],
'vocab': data_input['vocab'],
'term_frequency': data_input['term.frequency']}
return data
movies_model_data = load_R_model('movie_reviews_input.json')
print('Topic-Term shape:%s' %str(np.array(movies_model_data['topic_term_dists']).shape))
print('Doc-Topic shape: %s' %str(np.array(movies_model_data['doc_topic_dists']).shape))
movies_vis_data = pyLDAvis.prepare(np.array(movies_model_data['topic_term_dists']),
np.array(movies_model_data['doc_topic_dists']),
np.array(movies_model_data['doc_lengths']),
np.array(movies_model_data['vocab']),
np.array(movies_model_data['term_frequency']))
错误:
......第283行,准备topic_proportion =>(topic_freq / topic_freq.sum())。sort_values(ascending = False)...
AttributeError:'Series'对象没有属性'sort_values'
为什么pandas没有sort_values
属性,虽然我更新了最新版本?
根据文档。 http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.sort_values.html
'sort_values'是版本0.17.0中的新增内容。所以,请更新pandas版本。
如何查看pandas版本:
import pandas as pd
pd.__version__
如何更新熊猫。
使用conda:conda update pandas
使用pip:pip install pandas -U
我最近有同样的错误。这是因为pandas.DataFrame.sortlevel()因大熊猫版本0.20.0而被弃用。请改用DataFrame.sort_index()。这解决了我的问题。