其他
古代诗人总去的这些地方你一定要知道!
本文作者:钱梦璇
文字编辑:孙晓玲
细读古诗,我们可以品味出古代诗人想要治国安邦的理想信念,可以体会到他们寄情山水、与世无争的生活态度。但大多数古诗人因为官场的腐朽和体制的压迫而空有一身才华、无法施展。
所以,他们将内心的抑郁和悲愤寄情于山水,或以四海为家,到处飘摇,抒写出人生百味。那么,大多数古诗人去过的地方有哪些呢?或者说他们经常在古诗词中提到的地点又有哪些呢?小编从中文诗歌数据库中找到了三百首唐诗,通过数据处理将这些地点通过可视化直观地展示出来。
对唐诗分词
唐诗三百首文件如下所示:
通过中文分词库—jieba对唐诗三百首进行分词,此处采用“搜索引擎模式”这种分词模式,它的好处在于可以在精确模式的基础上,对长词再次切分。
import jieba
allwords=[]
with open(r'唐诗三百首.txt',encoding='utf8') as f:
for line in f.readlines():
words=jieba.cut_for_search(line)
words=filter(lambda word:len(word)>1,words)
allwords.extend(words)
print(allwords)
提取地名
根据以上分词结果,提取出所有词语中属于地名的词。
from collections import Counter #导入计数器
with open(r"中国所有城市.txt",encoding="utf8") as f2:
citynames=f2.read()
citynames=citynames.split(',')
finalcity=[]
for unitcity in citynames:
for unitword in allwords:
if unitword in unitcity:
finalcity.append(unitword)
finalcitycount=Counter(finalcity).most_common(30)
print(finalcitycount)
通过判断这些词语是否属于城市地名,从而提取出来并保存在finalcity列表中。其中用到的中国所有城市文件中,包含了中国所有的省份、城市、自治区、直辖市等所有地方。如下所示:
在地图上可视化数据
Python中有多个绘图库,通过比较,小编选择了展示地图最为美观的pyecharts库。之前的推文中,有一系列图形的详细介绍。
from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.globals import GeoType
data=[('长安', 16), ('江南', 9), ('蓬莱', 6), ('石鼓', 5),('轮台', 5), ('太平', 4), ('连山', 4), ('九江', 4), ('庐山', 4), ('河南', 4),('洛阳', 4), ('长沙', 4), ('昭阳', 4), ('芙蓉', 4), ('凤凰', 4), ('河北', 2),('山西',2)]
pieces = [
{'max': 3, 'label': '2-3', 'color': '#EEAD0E'},
{'min': 4, 'max': 5, 'label': '4-5', 'color': '#4682B4'},
{'min': 5, 'label': '5以上', 'color': '#D94E5D'},
]
tangshi_geo=(
Geo(init_opts=opts.InitOpts(width="800px",height="800px"))
.add_schema(maptype="china",itemstyle_opts=opts.ItemStyleOpts(color="#FFEFD5",border_color="#FF7F00"))
.add("",data,type_=GeoType.EFFECT_SCATTER)
.set_series_opts(label_opts=opts.LabelOpts(is_show=True,formatter='{b}:{{c}}'))
.set_global_opts(title_opts=opts.TitleOpts(title="唐诗中常提到的地名",subtitle="数字显示:经纬度+个数",pos_right="center",pos_top="15%"), visualmap_opts=opts.VisualMapOpts(pos_left="8%",pos_top="75%",is_piecewise=True,pieces=pieces))
)
tangshi_geo.render("唐诗地图.html")
最后,通过render生成本地 HTML文件,如下所示:
根据图表,你是否能直观的感受到唐代诗人总去的地方在哪里呢?这些地方中的大多数现在都是优美的旅游景点!以后有机会一定要去当地感受感受诗人的意境!
关于我们
微信公众号“Stata and Python数据分析”分享实用的stata、python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。