如何按字母顺序获取单词并删除符号u'?

时间:2017-12-28 05:06:46

标签: python-2.7 machine-learning sentiment-analysis

我正在努力创造一袋文字。我提到了这个链接https://pythonprogramminglanguage.com/bag-of-words/#respond

df = pd.read_csv('Twidb11.csv',error_bad_lines=False, sep='delimiter',  engine='python')
# Creating Bag of Words
count_vect = CountVectorizer()
X_train_counts = count_vect.fit_transform(df.Text)
print count_vect.fit_transform(df.Text).todense()
#X_train_counts.shape 
print count_vect.vocabulary_

它给了我单词和它们的频率,但是这些单词没有按字母顺序排序,你的符号就在那里,如下所示。如何摆脱这个?

输出:{u'binance':28,u'they':139,u'just':83,u'global':67,u'alternatives':11,u'zcash':168,u'年':165,u'talks':133,u'japan':82,u'yes':166,u'25':1,u'chinese':37,u'6000':5,u'zzzpositive ':170,u'winner':162,u'28':2,u'actually':12 ....}

1 个答案:

答案 0 :(得分:0)

str()是unicode的表示。如果您不想使用>>> my_dict = {str(i):j for i,j in my_dict.items()} >>> print my_dict >>> {'binance': 28, 'global': 67, 'chinese': 37, 'just': 83, '25': 1, 'zzzpositive': 170, 'alternatives': 11, '6000': 5, 'winner': 162, '28': 2, 'zcash': 168, 'actually': 12, 'they': 139, 'talks': 133, 'japan': 82, 'yes': 166, 'years': 165}

将其转换为字符串

1)将unicode字符串转换为字符串

>>> from operator import itemgetter

>>> dict(sorted(my_dict.items(), key=itemgetter(1))) # converted string unicode into str
>>> {'25': 1, 'winner': 162, 'chinese': 37, '6000': 5, 'binance': 28, 'zzzpositive': 170, 'alternatives': 11, 'just': 83, 'global': 67, '28': 2, 'zcash': 168, 'actually': 12, 'they': 139, 'talks': 133, 'japan': 82, 'yes': 166, 'years': 165}
>>> 

2)排序my_dict

itemgetter将帮助您更轻松地完成

>>> dict(sorted({str(i):j for i,j in my_dict.items()}.items(), key=itemgetter(1)))

在一行中,

{{1}}