【项目09】 中国姓氏排行研究
PS:如果各位有疑问的话,可以留下微信,我看到会第一时间加的,以后可以多多交流
1、项目需求
1、数据合并及清洗
2、查看姓氏“普遍指数”,普遍指数=姓氏人口数量
3、查看姓氏“奔波指数”,奔波指数=姓氏人均迁徙距离。迁徙距离为户籍地所在地级市与现居住地所在地级市的距离
2、实现思路
1、清洗原数据,合并数据特殊处理未识别的数据,通过城市经纬度对照表得出地区经纬度
2、找出目标数据姓氏数量对多的TOP20,通过echart查看部分姓氏分布情况及powermap查看热力情况
3、选择一个姓氏通过qgis制作原始数据转换后,再通过echart制作通勤动态图,动态输出
3、实现步骤
1.1、导入模块读取数据
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import os
import warnings
warnings.filterwarnings('ignore')
# 不发出警告
from bokeh.io import output_file
output_file('项目09.html')
from bokeh.plotting import figure,show
# 导入图表绘制、图标展示模块
from bokeh.models.annotations import Span
from bokeh.models.annotations import BoxAnnotation
from bokeh.layouts import gridplot
from bokeh.models import ColumnDataSource
from bokeh.models import HoverTool
os.chdir('C:\\Users\\Administrator\\Desktop\\项目资料\\项目09中国姓氏排行研究')
df1_data1 = pd.read_csv('data01.csv',encoding = 'utf-8')
df1_data2 = pd.read_csv('data02.csv',encoding = 'utf-8')
df1_data3 = pd.read_excel('中国行政代码对照表.xlsx',sheetname = 0)
1.2、清洗数据合并数据
df1_data3['行政编码'] = df1_data3['行政编码'].values.astype(np.object)
df1_data3.columns = ['行政编码','户籍所在地_省','户籍所在地_市','户籍所在地_区/县','户籍所在地_lng','户籍所在地_lat']
df = pd.concat([d