README.md

    #以下此代码和其它代码区别不大,完整代码在subway_get.py和subway_analysis.py文件中。

    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()

    项目简介

    python数据分析可视化——利用常用python库对地铁数据的简单数据分析

    发行版本

    当前项目没有发行版本

    贡献者 1

    Mr·小鱼 @qq_44184866

    开发语言

    • Python 100.0 %