原数据有两个标签'label'和'review',review是中文的评论。对review用jieba进行分词后,再获取文本长度:
import jieba
import pandas as pd
import matplotlib.pyplot as plt
train_data = pd.read_csv('../testcnn_lx/train.csv', encoding='utf-8').astype(str)
sentence_length = []
train_text = train_data['review']
for line in train_text:
t = jieba.lcut(line)
sentence_length.append(len(t))
plt.hist(sentence_length, 800, density=1, cumulative=True, stacked=True)
plt.xlim(0, 800)
plt.show()
注意需要用jieba.lcut分词,而不是jieba.cut,不然会报错。 当然也可以用data = list(t),再取len(data),但是肯定复杂了。
结果:y轴是百分率,x轴是句子长度
关于csv文件的分割和打乱顺序可以看看另一篇博客