数据基于百度统计的城市人口迁移数据
最编程
2024-03-21 10:39:10
...
# encoding:utf-8
# 导入库-------------------------
import pandas as pd
import matplotlib.pyplot as plt
import random
import matplotlib
# pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['axes.unicode_minus'] = False
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['axes.unicode_minus'] = False
import random
import numpy as np
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt
from collections import Counter
import os
def bing_tu(label_list, size, title_name, figsize_x):
""""
# 饼图
label_list = ["第一部分", "第二部分", "第三部分"]
size = [55, 35, 10] # 各部分大小
"""
def make_autopct(values):
def my_autopct(pct):
total = sum(values)
val = int(round(pct * total / 100.0))
# 同时显示数值和占比的饼图
return '{p:.2f}% ({v:d})'.format(p=pct, v=val)
return my_autopct
color = []
colors = ["red", "green", "blue", "yellow"] # 各部分颜色
while len(color) < len(label_list):
color.append(colors[random.randint(0, 3)])
# explode = [0.05, 0, 0] # 各部分突出值
fig = plt.figure(figsize=(figsize_x, figsize_x))
plt.subplot(131)
plt.title(title_name)
plt.pie(size, labels=label_list, labeldistance=1.2, autopct=make_autopct(size))
# plt.savefig("barChart.jpg")
plt.show()
def zhu_zhuang_tu(label_list, size, title_name, y_name, x_name):
"""
# 柱状图
label_list = ["第一部分", "第二部分", "第三部分"]
size = [55, 35, 10] # 各部分大小
"""
fig = plt.figure()
plt.bar(label_list, size, 0.5, color="green")
plt.xlabel(x_name)
plt.ylabel(y_name)
plt.title(title_name)
# plt.savefig("barChart.jpg")
plt.show()
# matplotlib 画图------------------------------------------------------
# 针对某一天 北京市 流入人口分析 柱状图。
data_baidu_out_20200101=pd.read_csv("baidu_in_20200101.csv")
# 数据清洗 把所有空值设置为0
data_baidu_out_20200101=data_baidu_out_20200101.fillna(0)
x_data=data_baidu_out_20200101.columns[2:15] # 取表头
y_data=data_baidu_out_20200101.values[0][2:15] # 取数据
zhu_zhuang_tu(x_data,y_data,"北京流入人口分析柱状图","数量","地区")
# 针对整个月份 北京市流入人口分析 饼状图
# path定义要获取的文件名称的目录
path = r"C:\Users\Administrator\Desktop\作业\百度迁徙数据做数据分析\2020年1月百度迁徙数据\迁入"
file_name_list = os.listdir(path)[:-2]
# print(file_name_list)
# 把整个月的数据都取出来
shumu_sum=[0 for i in range(13)]
for file_name in file_name_list:
temp_data=pd.read_csv(file_name) #,encoding='gbk'
temp_data=temp_data.fillna(0)
shumu_sum = [i + j for i, j in zip(shumu_sum,temp_data.values[0][2:15])]
bing_tu(x_data,shumu_sum, "2020年1月 北京流入人口分析",20)
# pyecharts 画图-----------------------------------------------
from pyecharts.charts import * # 图表
from pyecharts.components import Table # 表格
from pyecharts import options as opts # 配置
from pyecharts.commons.utils import JsCode
import random # 随机数
from pyecharts.charts import Pie
from pyecharts.charts import Page
# 针对某一天 天津市 流入人口分析柱状图。
data_baidu_out_20200101=pd.read_csv("baidu_in_20200101.csv")
# 数据清洗 把所有空值设置为0
data_baidu_out_20200101=data_baidu_out_20200101.fillna(0)
x_data=list(data_baidu_out_20200101.columns[3:16])
y_data=data_baidu_out_20200101.values[1][3:16]
y_data=[int(i) for i in y_data]# 数据转化整数操作
print(x_data)
print(y_data)
bar = Bar() # 初始化图表
bar.add_xaxis(x_data) # x轴
bar.add_yaxis('数目', y_data) # y轴
bar.set_global_opts(title_opts=opts.TitleOpts(title="天津市流入人口分析柱状图"))
bar.render(path=r"C:\Users\Administrator\Desktop\作业\百度迁徙数据做数据分析\2020年1月百度迁徙数据\柱状图_bar.html")
#设置要输出的html页面的保存路径和名字htest_bar.html,默认值保存为为当前目录下render.html
# 针对整个月份 天津市迁出人口分析 饼状图
# path定义要获取的文件名称的目录
path = r"C:\Users\Administrator\Desktop\作业\百度迁徙数据做数据分析\2020年1月百度迁徙数据\迁出"
file_name_list = os.listdir(path)
# 把整个月的数据都取出来 # x_data 可以借助上一个图的 现在只计算y_daya
shumu_sum=[0 for i in range(13)]
for file_name in file_name_list:
temp_data=pd.read_csv(path+"/"+file_name) #,encoding='gbk'
temp_data=temp_data.fillna(0)# 数据清洗
shumu_sum = [i + j for i, j in zip(shumu_sum,temp_data.values[0][3:16])]
c = (
Pie()
.add("", [list(z) for z in zip(x_data, y_data)]) # zip函数两个部分组合在一起list(zip(x,y))-----> [(x,y)]
.set_global_opts(title_opts=opts.TitleOpts(title="2022年1月天津市流流出口分析柱状图",pos_left="center")) # 标题
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}")) # 数据标签设置
)
c.render_notebook()
c.render(path=r"C:\Users\Administrator\Desktop\作业\百度迁徙数据做数据分析\2020年1月百度迁徙数据\饼图_bar.html")
推荐阅读
-
基于 Landsat8/TIRS 的北京城市热岛研究(附练习数据下载)
-
百度地图城市建筑轮廓和路网数据的获取与矢量化
-
基于腾讯人口迁移数据的全国城市网络结构特征分析
-
城市数据分析:基于腾讯人口迁移数据的城市人口流动研究
-
数据基于百度统计的城市人口迁移数据
-
基于履带的城市空气质量数据采集系统的设计与实施
-
Spark 战斗--基于 Spark 日志清理和数据统计以及 Zeppelin 的使用
-
统计学习 04:假设检验(以 t 检验为例)和 P 值 - 要点 I. 假设检验的一般思路 假设检验 清楚你的问题是什么?期望得出什么结论? 例如,两种药物的疗效是否存在差异,自变量与因变量之间是否存在回归关系 .... 请始终牢记,假设检验回答的是是否存在某种关系的问题:它并不衡量这种关系有多大。 提出两种假设:零假设 (H0) 和备择假设 (H1) 零假设与备择假设相反,一般来说,研究的目的是证明原假设是错误的,即得出备择假设的结论。 例如,如果实验预期希望两种药物的疗效存在差异,那么 H0:μ1 - μ2 = 0;H1:μ1 - μ2 ≠ 0 H0:μ1-μ2 = 0 的一般形式称为双侧检验,而 >、<等零假设称为单侧检验。一般来说双侧检验更为常见,下面也主要介绍这种方法。 单尾或双尾测试 根据原始数据计算零假设概率分布的统计量(t 值、Z 值、F 值等)。 根据问题的性质选择合适的概率检验方法,从而计算出相应的统计量值;因此,不同情况的统计量值有不同的计算方法。 根据计算出的统计量值,利用统计软件,可以知道相应的 p 值是多少 也可以先确定一个合适的显著性水平(0.0.001....),并计算其临界值,再与我们计算出的统计量值进行比较,从而做出判断。 根据第四步的比较结果,如果 p 值小于预期的显著性水平(α,通常设定为 0.05),则认为该统计量远离原假设分布,属于小概率事件,则拒绝原假设,从而接受备择假设。 决定 要点 2:以 t 检验为例,演示上述假设检验思路。 t 检验基于 t 分布,常见的 t 检验有三种,如下图所示,但我认为第三种配对设计可能更常用(零假设:差异是否为零),下面介绍的例子就是一种配对设计 三次 t 检验 举例测量两组大鼠肝脏中维生素 A 的含量,比较两组大鼠维生素 A 含量是否有差异。数据如下 数据 (1) 预计两组大鼠的维生素 A 水平存在差异 (2) H0:μd=0,H1:μd≠0,α=0.05,双侧检验 (3) t 统计量的计算 配方 计算 上述程序计算的是*度为 7 的 t 分布情况下的 t 值。只需理解公式即可,不同的方法有不同的公式,这些交给统计软件即可。
-
百度地图 POI 数据在城市空间布局研究中的应用
-
分享全国77个城市的建筑轮廓和高度数据(包含百度网盘链接)