python列表姓氏_python数据分析实例(六) 中国姓氏数据

bokeh联动柱状图,Excel空间柱状图、空间热力图,Echarts空间柱状图,常用函数:

df['工作地_省'] = df['工作地'].str.split('省').str[0]

df['工作地_市'] = ''

df['工作地_市']= df['工作地'].str.split('省').str[1].str.split('市').str[0]

df['工作地_市'][df['工作地_省'].str.len() >= 5] = df['工作地_省'].str.split('市').str[0]

data_wang1 = df[df['姓'] == '王']

writer = pd.ExcelWriter('C:/Users/Administrator/Desktop/wang1.xlsx')

data_wang1.to_excel(writer,'sheet1',index=False)

writer.save()

price11middle_SSS_top_95['zkl_range'] = price11middle_SSS_top_95['zkl_range'].astype(str)一,concat上下合并数据,merge左右合并数据

二, x=各姓,y= 个数 /占比 bokeh联动柱状图

三, x=各地,y= 王姓个数 Excel空间柱状图、空间热力图

四, x=各地,y= 王姓个数 Echarts空间柱状图

一,concat上下合并数据,merge左右合并数据 .str.split('省').str[0]

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

import warnings

warnings.filterwarnings('ignore')

# 不发出警告

from bokeh.plotting import figure,show

from bokeh.models import ColumnDataSource

# 导入图表绘制、图标展示模块

# 导入ColumnDataSource模块

import os

os.chdir('C:/Users/Administrator/Desktop/')

# 创建工作路径

#

df01 = pd.read_csv('data01.csv',encoding = 'utf-8')

df02 = pd.read_csv('data02.csv',encoding = 'utf-8')

df_city = pd.read_excel('中国行政代码对照表.xlsx')

# 读取数据

df = pd.concat([df01,df02])

df.to_csv('preliminary.csv')

df = pd.read_csv('preliminary.csv', index_col=0)

df = pd.merge(df,df_city,left_on='户籍地城市编号',right_on = '行政编码')

df['工作地'] = df['工作地'].str[:15] # 只提取工作地前15个字符即可

del df['行政编码']

del df['户籍地城市编号']

# 合并数据,添加经纬度字段

# 删除无用字段

# 分别提取“工作地”中的省、市、区县

# 新建字段“工作地-省”,“工作地-市”,“工作地-区县”,如果数据中“工作地”字段无法提取省和市,则用“未识别”填充单元格

# *通过查看识别后的单元格,如果字数超过5则为“未识别”

df['工作地_省'] = df['工作地'].str.split('省').str[0]

# 识别工作地-省

df['工作地_市'] = ''

df['工作地_市']= df['工作地'].str.split('省').str[1].str.split('市').str[0]

df['工作地_市'][df['工作地_省'].str.len() >= 5] = df['工作地_省'].str.split('市').str[0]

# 识别工作地-市

# 在未识别出省的数据中,可能会有市的信息

df['工作地_区县'] = ''

df['工作地_区县'][(df['工作地_市'].str.len() < 5)&(df['工作地'].str.contains('区'))] = df['工作地'].str.split('市').str[1].str.split('区').str[0] + '区'

df['工作地_区县'][(df['工作地_市'].str.len() > 5)&(df['工作地'].str.contains('区'))] = df['工作地'].str.split('区').str[0] + '区'

df['工作地_区县'][(df['工作地_市'].str.len() < 5)&(df['工作地'].str.contains('县'))] = df['工作地'].str.split('市').str[1].str.split('县').str[0] + '县'

df['工作地_区县'][(df['工作地_市'].str.len() > 5)&(df['工作地'].str.contains('县'))] = df['工作地'].str.split('县').str[0] + '县'

#### 识别工作地-区县

###

df['工作地_省'][df['工作地_省'].str.len() > 5 ] = '未识别'

df['工作地_市'][df['工作地_市'].str.len() > 5 ] = '未识别'

df['工作地_区县'][(df['工作地_区县'].str.len() > 5) | (df['工作地_区县'].str.len() < 2)] = '未识别'

df['工作地_市'][df['工作地_市'].str.len() <= 1 ] = '未识别'

df['工作地_省'][df['工作地_省'].str.len() <= 1 ] = '未识别'

## 整理未识别单元格

#

df.columns = ['姓','工作地','户籍所在地_省','户籍所在地_市','户籍所在地_区县','户籍所在地_lng','户籍所在地_lat',

'工作地_省','工作地_市','工作地_区县']

print('读取数据共%i条' % len(df))

## 数据整理

shenrufeng = df[:100]

print('finished')

二, x=各姓,y= 个数 /占比 bokeh联动柱状图

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

import warnings

warnings.filterwarnings('ignore')

# 不发出警告

import matplotlib as mpl

mpl.rcParams['font.sans-serif'] = ['KaiTi']

mpl.rcParams['font.serif'] = ['KaiTi']

mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题,或者转换负号为字符串,中文不显

import matplotlib as mpl

mpl.rcParams['font.sans-serif'] = ['KaiTi']

mpl.rcParams['font.serif'] = ['KaiTi']

mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题,或者转换负号为字符串,中文不显

from bokeh.plotting import figure,show,output_file

from bokeh.models import ColumnDataSource

# 导入图表绘制、图标展示模块

# 导入ColumnDataSource模块

import os

os.chdir('C:/Users/Administrator/Desktop/')

name_count = df['姓'].value_counts()

result1_01 = pd.DataFrame({'count':name_count, 'count_pre':name_count/name_count.sum()})[:20]

#result1_01.iloc[:20].plot(kind = 'bar',rot = 0,figsize = (10,6))

# bokeh出联动柱状图

from bokeh.models import HoverTool

from bokeh.layouts import gridplot

output_file("line66.html")

# 导入模块

name_lst = result1_01.index.tolist()

result1_01.index.name = 'index'

source = ColumnDataSource(result1_01)

# 创建ColumnDataSource数据

hover1 = HoverTool(tooltips=[("姓氏计数", "@count")]) # 设置标签显示内容

result1 = figure(plot_width=800, plot_height=250,x_range = name_lst,

title="中国姓氏TOP20 - 计数" ,

tools=[hover1,'reset,xwheel_zoom,pan']) # 构建绘图空间

result1.vbar(x='index', top='count', source=source,width=0.9, alpha = 0.7,color = 'red')

result1.ygrid.grid_line_dash = [6, 4]

result1.xgrid.grid_line_dash = [6, 4]

# 柱状图1

hover2 = HoverTool(tooltips=[("姓氏占比", "@count_pre")]) # 设置标签显示内容

result2 = figure(plot_width=800, plot_height=250,x_range = result1.x_range,

title="中国姓氏TOP20 - 占比" ,

tools=[hover2,'reset,xwheel_zoom,pan'])

result2.vbar(x='index', top='count_pre', source=source,width=0.9, alpha = 0.7,color = 'green')

result2.ygrid.grid_line_dash = [6, 4]

result2.xgrid.grid_line_dash = [6, 4]

# 柱状图2

p = gridplot([[result1], [result2]])

# 组合图表

show(p)

三, Excel空间柱状图 Excel空间热力图

data_wang1 = df[df['姓'] == '王']

writer = pd.ExcelWriter('C:/Users/Administrator/Desktop/wang1.xlsx')

data_wang1.to_excel(writer,'sheet1',index=False)

writer.save()

# 导出数据1

四, Echarts空间柱状图

①, 导出数据

data_wang2 = data_wang1.groupby(['户籍所在地_lng','户籍所在地_lat','户籍所在地_市'])['姓'].count()

data_wang2 = data_wang2.reset_index()

data_wang2.columns= ['lng', 'lat', 'name', 'value']

data_wang2=data_wang2[['name', 'lng', 'lat', 'value']]

writer = pd.ExcelWriter('C:/Users/Administrator/Desktop/wang2.xlsx')

data_wang2.to_excel(writer,'sheet1',index=False)

writer.save()

# 导出数据2

print('导出完成!')

②, 转成json

import pandas as pd

import os

os.chdir('C:\\Users\\Administrator\\Desktop\\') # 输入文件所在路径,例如:'C:/Users/Desktop/'

data = pd.read_excel('wang2.xlsx', sheet_name=0,header=0)

datajs = data.to_json(orient='records',force_ascii=False)

print('转换后数据为:\n',datajs)

[{"name":"信阳","lng":-1.0,"lat":-1.0,"value":14},{"name":"包头","lng":-1.0,"lat":-1.0,"value":3},{"name":"呼伦贝尔","lng":-1.0,"lat":-1.0,"value":1},——————{"name":"鸡西","lng":133.1211060726,"lat":45.9972762035,"value":10},{"name":"佳木斯","lng":133.2733283638,"lat":47.8336846866,"value":5},{"name":"双鸭山","lng":133.7292586825,"lat":47.0726285429,"value":8},{"name":"佳木斯","lng":134.296044164,"lat":47.9261051999,"value":5}]

③, 拾取中心点坐标在线地图经度纬度查询 - 经纬度查询地名|地名查询经纬度 -GPSspg​www.gpsspg.com

④, mapstyle 与mapAccessToken设置https://www.mapbox.com/​www.mapbox.com

⑤, 导出html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/372302.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaFX 2 GameTutorial第3部分

介绍 Ť他是与一个六个部分组成的系列的第3部分的JavaFX 2游戏教程。 如果您错过了第1部分和第2部分 &#xff0c;建议您在开始本教程之前先进行阅读。 回顾第二部分&#xff0c;我讨论了游戏循环的内部工作原理&#xff0c;其中我们使用动画&#xff08;JavaFX Timeline &…

Selenium WebDriver + python 自动化测试框架

目标 组内任何人都可以进行自动化测试用例的编写 完全分离测试用例和自动化测试代码&#xff0c;就像写手工测试用例一下&#xff0c;编写excel格式的测试用例&#xff0c;包括步骤、检查点&#xff0c;然后执行自动化工程&#xff0c;即可执行功能自动化测试用例&#xff0c;包…

mysql游戏减少积分活动图_plantuml-绘制状态图和活动图和部署图​

背景状态图&#xff1a;对象的所有状态&#xff0c;以及基于事件发生的状态改变的过程&#xff1b;活动图&#xff1a;用例的工作流程&#xff1b;部署图&#xff1a;系统的软硬件物理体系结构&#xff1b;状态图基本语法元素语法说明开始和结束状态[*]标识开始和结束状态箭头-…

windows中当你的键盘无法使用时我们可以用另一种方法哦

1.使用WinR打开cmd窗口 2.输入osk回车就出现了一个虚拟的小键盘啦&#xff0c;当你的键盘坏掉后非常实用哦 转载于:https://www.cnblogs.com/qianzf/p/6780496.html

python web.py 404_找不到web.py开发服务器-favicon.ico-404

py API文档引用了一个“web.SEE OTHER()”函数&#xff0c;该函数生成一个303 SEE OTHER响应&#xff0c;将浏览器重定向到另一个位置。(请参见http://webpy.org/docs/0.3/api#web.application)这是一个服务器端的解决方案&#xff0c;它不需要在html文件中更改头&#xff1b;如…

NetBeans 7.2引入了TestNG

代码生成的优点之一是能够查看如何使用特定的语言功能或框架。 正如我在《 NetBeans 7.2 beta&#xff1a;更快&#xff0c;更有用》一文中所讨论的那样&#xff0c; NetBeans 7.2 beta提供了TestNG集成 。 除了对该功能的单一引用之外&#xff0c;我在该帖子中没有进一步阐述&…

Javascript模块化编程(三):require.js的用法

一、为什么要用require.js&#xff1f; 最早的时候&#xff0c;所有Javascript代码都写在一个文件里面&#xff0c;只要加载这一个文件就够了。后来&#xff0c;代码越来越多&#xff0c;一个文件不够了&#xff0c;必须分成多个文件&#xff0c;依次加载。下面的网页代码&…

[KISSY5系列]淘宝全终端框架 KISSY 5--从零开始使用

KISSY 是淘宝一个开源的 JavaScript 库&#xff0c;包含的组件有&#xff1a;日历、图片放大镜、卡片切换、弹出窗口、输入建议等 一、简介 KISSY 是一款跨终端、模块化、高性能、使用简单的 JavaScript 框架。 除了完备的工具集合如 DOM、Event、Ajax、Anim 等它还提供了经典的…

几万条数据的excel导入到mysql_【记录】2万多条数据的Excel表格数据导入mysql数据库...

主题刚开始的时候做了两个小方案&#xff01;第一个是直接Excel处理完导入&#xff0c;但是这个导入的话虽然简单出错率很大&#xff01;第二个是想直接用php做个小程序直接导入数据&#xff0c;但是想了想2万条数据处理&#xff0c;百分之百浏览器会一直转&#xff0c;最后不知…

JDeveloper中的Java反编译器

Java Decompiler是一个独立的图形实用程序&#xff0c;显示“ .class”文件的Java源代码。 下面是Java Decompiler程序的快照 您可以从这里下载该程序 我将说明如何将此程序用作Jdeveloper中的外部工具 Java Decompiler和Jdeveloper之间的集成 您可以将此程序添加到Jdevelo…

NGUI学习随笔

一、NGUI的直接用法 1. Attach a Collider&#xff1a;表示为NGUI的某些物体添加碰撞器&#xff0c;如果界面是用NGUI做的&#xff0c;只能这样添加。&#xff08;注&#xff1a;用Component添加无效&#xff09;。2. Attach an Anchor&#xff1a;表示为该物体添加了…

Git 修改源地址

git remote set-url origin http://git.xxx.com/xxx/repo.git 转载于:https://www.cnblogs.com/savokiss/p/5892543.html

mysql主从进行扩展_MySQL 主从扩展

MySQL 主从扩展常见问题排查1. 数据不一致:SHOW SLAVE STATUS \G;Last_Errno:1062Last_Error:ErrorDuplicate entryxxxn-66-77for key1on query.Defaultdatabase:guild.Query:insert into pynpcrecord setMapCode xxxn, UpdateTime 2015-08-0700:00:32解决方法: 在从库上将重复…

JRockit – JRCMD有用的命令

自2007年以来&#xff0c;我一直在使用JRockit。我发现它比Hotspot速度慢&#xff0c;但在诊断和分析问题上总是更好。 从去年夏天开始&#xff0c;我一直在为一家国际电信系统供应商工作。 我们在HP OpenCall Convergent Communication Platform之上为电信运营商设计和实施各种…

Spark Streaming整合logstash + Kafka wordCount

1、安装logstash&#xff0c;直接解压即可 测试logstash是否可以正常运行 bin/logstash -e input { stdin { } } output { stdout {codec > rubydebug } } 只获取消息 bin/logstash -e input { stdin { } } output { stdout {codec > plain { format > "%{messag…

js 变量类型

变量类型分为&#xff1a;基础类型和引用类型 基础类型&#xff1a;boolean, string, number, null, undefined, symbol 引用类型&#xff1a; array, object typeof: 判断变量的类型instanceof:判断某个对象是否是另外一个对象的实例主要还是理解这两个判断的不同之处&#xf…

python 相对导入_python 相对导入与绝对导入

Python 相对导入与绝对导入Python | Jul 21, 2016 | pythonPython 相对导入与绝对导入&#xff0c;这两个概念是相对于包内导入而言的。包内导入即是包内的模块导入包内部的模块。Python import 的搜索路径1.在当前目录下搜索该模块2.在环境变量 sys.path 中指定的路径列表中依…

具有Java Kickstart的MongoDB

NoSQL数据库由于其可伸缩性而变得越来越流行。 适当使用时 NoSQL数据库可以提供真正的好处。 MongoDB是使用C 编写的高度可扩展的开源NoSQL数据库。 1.安装MongoDB 您可以根据所使用的操作系统&#xff0c;按照MongoDB官方网站上的说明安装MongoDB&#xff0c;而不会遇到很多麻…

Linux Shell——函数的使用

文/一介书生&#xff0c;一枚码农。 scripts are for lazy people. 函数是存在内存里的一组代码的命名的元素。函数创建于脚本运行环境之中&#xff0c;并且可以执行。 函数的语法结构为&#xff1a; function <function-name> {<code to execute> } 创建函数不需要…

FFmpeg学习2:解码数据结构及函数总结

在上一篇文章中&#xff0c;对FFmpeg的视频解码过程做了一个总结。由于才接触FFmpeg&#xff0c;还是挺陌生的&#xff0c;这里就解码过程再做一个总结。本文的总结分为以下两个部分&#xff1a; 数据读取&#xff0c;主要关注在解码过程中所用到的FFmpeg中的结构体。解码过程中…