Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
hxy2518902752
python数据分析可视化大作业——对地铁数据的简单数据分析
提交
b0375ceb
P
python数据分析可视化大作业——对地铁数据的简单数据分析
项目概览
hxy2518902752
/
python数据分析可视化大作业——对地铁数据的简单数据分析
与 Fork 源项目一致
Fork自
Mr·小鱼 / python数据分析可视化大作业——对地铁数据的简单数据分析
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
python数据分析可视化大作业——对地铁数据的简单数据分析
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b0375ceb
编写于
11月 19, 2022
作者:
Mr·小鱼
🏸
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
添加 README.md
上级
93da5fd6
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
77 addition
and
0 deletion
+77
-0
README.md
README.md
+77
-0
未找到文件。
README.md
0 → 100644
浏览文件 @
b0375ceb
from wordcloud import WordCloud, ImageColorGenerator
from pyecharts import Line, Bar, Geo
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import seaborn as sns
import jieba
plt.rcParams['font.sans-serif']=['SimHei'] #显示中文标签
plt.rcParams['axes.unicode_minus']=False # 设置正常显示符号
##先对爬取出来的数据进行清洗,去除重复的换乘站信息。
# 设置列名与数据对齐
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
# 显示10行
pd.set_option('display.max_rows', 10)
# 读取数据
df = pd.read_csv('../data/data-analyselesson/subway.csv', header=None, names=['city', 'line', 'station'], encoding='gbk')
# print(type(df))
print(df.info())
print(df.head())
ck_df=df.isnull().sum().sort_values(ascending=False)
print(ck_df)
# 统计各个城市地铁线路情况
df_line = df.groupby(['city', 'line']).count().reset_index()
print(df_line)
df_1=df_line.sort_values(by='station', ascending=False)
df_2=df_1.groupby('city')['station'].max().reset_index(drop=False)#保留索引
line_station_c=df_2.sort_values(by='station',ascending=False)
# line_station_c.to_csv("../1.csv",header=False,index=False)
plt.figure(figsize=(15,5))
labelline=list(line_station_c['city'])
# line_text=pd.merge(left=line_station_c,right=df_1,on=['city','station'],how='inner')
# line_text.to_csv("../2.csv",header=False,index=False)
labelline=labelline#+line_text['line'].map(str)
plt.xlabel('城市')
plt.ylabel('站点数量')
plt.bar([i for i in labelline],line_station_c['station'])
plt.title('每个城市哪条线路的站点数最多')
plt.show()
plt.close()
#各城市中使用大学作为站点名的概率图或者直方图
#问题:统计各个城市的大学数量,然后利用回归图进行拟合(分析各个城市的大学数量与站点数量的关系
df_uni= pd.read_csv('../university.csv', header=None, names=['city', 'uni_count'], encoding='gbk')
df_uni=pd.merge(left=line_station_c,right=df_uni,on='city',how='inner') #将两个表格中的数据基于city列进行内连接。
x=df_uni['uni_count']
y=df_uni['station']
sns.regplot(x=x,y=y,color='b')
plt.title('分析各个城市的大学数量与站点数量的关系')
plt.show()
plt.close()
#散点图
fig=plt.figure(figsize=(10,7))
plt.xlabel('站点数量')
plt.ylabel('大学数量')
plt.title('各个城市的大学数量与站点数量的关系')
plt.scatter(x=x,y=y,cmap='b',marker='
*
',alpha=0.8)
plt.grid()
plt.show()
plt.close()
#seaborn的双变量图:可以查看多变量之间的分布关系,也可以显示它本身的单变量情况
df_s=df_uni
sns.jointplot(x='uni_count',y='station',data=df_s)
plt.show()
plt.close()
#全国各城市的总的换乘站点数量(2换乘、3换乘、4换乘等)分布统计
df_1=df.groupby(['city','station']).count().reset_index()
print(df_1)
df_1=df_1[df_1['line']>1]#筛选出来全国的换乘站点数
tran_sit=df_1.groupby('line').count().reset_index() #保留原索引,但是值是count()函数计数之后的值
plt.figure(figsize=(10,5))
plt.xlabel('站点可换乘等级')
plt.ylabel('站点数量')
plt.bar(tran_sit['line'],tran_sit['station'],color='g')
plt.title('全国各城市总的换乘站点数量(2换乘、3换乘、4换乘等)分布统计')
plt.show()
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录