hiDaDeng / hidadeng.github.io

大邓的个人博客,博客域名在下方, 访问可能有点慢啊。
https://textdata.cn/
5 stars 2 forks source link

blog/2023-04-03-visualization-wordcloud-similarity-for-santi/ #13

Open utterances-bot opened 11 months ago

utterances-bot commented 11 months ago

可视化 | 文本数据分成n等份、词云图、情绪变化趋势、相似度变化趋势 | 大邓和他的PYTHON

本章技术要点: 读取一个txt, 然后按照n等份整理为dataframe 词频统计&绘制词云图 假设内容分成20份(带顺序),可视化情绪变化趋势 假设内容分成20份(带顺序),可视化相邻内容的相似度变化趋势 点击下载代码 一、读入小说 把自传数据等分成20份,默认每一份代表一个时期。 import pandas as pd def read_txt(file, num_segments, encoding='utf-8'): # 读取txt文件 with open(file, "r", encoding=encoding) as f: text = f.read() # 获取文本的总长度和

https://textdata.cn/blog/2023-04-03-visualization-wordcloud-similarity-for-santi/

irenetian22 commented 11 months ago

邓老师~这篇真的好棒,我跑了一下代码全都很顺畅!可以请教下吗,如果不太想对文本N等分,比如想指定顺序来切分txt(比如第1-100句,第200-400句)这样,应该怎么写呢?

hiDaDeng commented 11 months ago
import pandas as pd
import re

def read_txt(file, ses, encoding='utf-8'):
    # 读取txt文件
    with open(file, "r", encoding=encoding) as f:
        text = f.read()
    sents = re.split('[。!?\?]', text)

    docs = []
    for start, end in ses:
        doc = sents[start:end]
        docs.append(doc)

    # 将内容存储在数据框中
    df = pd.DataFrame(docs, columns=["doc"])
    return df

#指定顺序来切分txt(比如第1-100句,第200-400句)
ses = [[1, 100],
       [200,400],
        ...] 
df = read_txt(file='某txt文件路径', ses=ses)
df