最近各地的高考成绩刚出,看到各地状元那神仙般的成绩,不由得让我想起知乎上一个一直热度不减的问题——“排名在前 1% 的高中生是靠天赋还是靠努力?”
借着上次爬知乎的代码(链接: link.),简单爬了1000多条数据。
数据的链接在这里:
链接: https://pan.baidu.com/s/1okK4PuY67_T_8OuAmry_Vw 密码: 9ctq
接下来,就用LDA主题模型来简单探究一下吧!
导包
import pandas as pd
import re
import jieba
import matplotlib.pyplot as plt
from wordcloud import WordCloud
from gensim.corpora import Dictionary
from gensim.models import LdaModel
读数据
df = pd.read_csv("排名在前 1% 的高中生是靠天赋还是靠努力?(知乎).csv")
del df["Unnamed: 0"]
#直接drop掉具体内容为NAN的行
NaN_index = list(df['具体内容'][pd.isnull(df['具体内容']) == True].index)
df.drop(index=NaN_index, inplace=True)
df = df.reset_index(drop = True)
数据预处理
data_ao = df['具体内容'].apply(lambda x: re.sub('[^\u4e00-\u9fa5]', '', x))
#因为考虑到是为了对主题进行筛选,故此处先就只保留汉字
data_ao.duplicated().sum()
#