python数据分析实例-人口统计折线图

一、前言
最近一直在学python数据科学的相关课程,主要看了《数据科学入门》这本动物书,但这本书是真的只入个门,把数据科学相关的各方面知识介绍了一下,真的只是介绍了一下,想要系统地学习还是得去看更细致的教程和官方文档。

不断地找网上的demo跟着敲,差不多的时候决定自己实现一个简单的案例。于是乎找到了一个很好的数据网站——国家数据。里面的数据支持多种形式的下载。

二、实现
这里是下载了中国近20年的总人口、男性人口、女性人口、城镇人口、乡村人口的数据。

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号

# 指标
# 年末总人口(万人)
# 男性人口(万人)
# 女性人口(万人)
# 城镇人口(万人)
# 乡村人口(万人)

# 打开并读取csv文件
file = open("population_20.csv", 'r')

# 读取csv文件到DataFrame
# 这里若不添加参数encoding='gb18030' 会报错'utf-8' codec can't decode byte 0xc4 in position 4: invalid continuation byte
# 即utf-8无法被解析
df = pd.read_csv("population_20.csv", encoding='gb18030')

# 设置DataFrame的行名
df.index = ['总人口', '男性人口', '女性人口', '城镇人口', '乡村人口']

# 输出DataFrame
print(df)

# 获取列名 即之后的横坐标刻度 [::-1]是用来反转的 因为我想要一个2000-2019的顺序
xlist = list(df.columns[::-1])

# 年末总人口
# df.loc[]返回的是一个series
# 这里的末尾使用了[::-1] 即用来反转series
total_population = df.loc['总人口'][::-1]
total_population.plot()

# 男性人口
man_population = df.loc['男性人口'][::-1]
man_population.plot()

# 女性人口
woman_population = df.loc['女性人口'][::-1]
woman_population.plot()

# 城镇人口
city_population = df.loc['城镇人口'][::-1]
city_population.plot()

# 乡村人口
village_population = df.loc['乡村人口'][::-1]
village_population.plot()

# 设置x轴
# 这里卡住了我好久 后面多尝试才发现x轴的刻度是从0开始的 还是要多动手敲才能发现啊
x_ticks = np.linspace(0, 20, 10)
plt.xticks(x_ticks, xlist)

# 设置y轴
y_ticks = np.arange(0, 150000, 10000)
plt.yticks(y_ticks)

# 设置图例位置
plt.legend(loc='lower right')

# 设置标注
plt.annotate('单位:万人', xy=(15.5, 40000))

plt.show()

结果:

三、总结
刚开始学习数据科学的时候,只是不断地在敲demo,或者做例题,敲了很多遍还是记不住matplotlib、numpy、pandas等待这些第三方库。半途也想过先放下去学别的,但好在没有放弃,每天都坚持看一点资料(但也不得不吐槽,现在中文环境的互联网信息污染有点严重,各种爬虫产生的文章不断重复出现)。我也慢慢地收藏了一些很好的教程:
如何高效入门数据科学?(王树义老师的教程真很友好,菜鸟也完全可以跟着一步步实现一个个小demo)
莫烦PYTHON
易百教程
DataSense|DataScience
......
感谢!

刚开始学习的时候,很纠结是多做例题还是直接上手实例,但后来发现两者是分不开的,不敲例题来熟悉语法,会不知道如何实现、实现什么demo,不去自己从头或者模仿构思一个demo的话,也没办法把语法知识串联在一起。还是得多动手敲,再一个是多总结。

就比如这个实例吧,虽然很简单,甚至说直接拿excel操作都更简单。但是也串联了I\O、matplotlib、numpy、pandas和其中series、dataframe云云一些细小的知识点。所以说,还是得不断熟悉记忆语法并同时去做一些实例比较好。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,755评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,369评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,799评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,910评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,096评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,159评论 3 411
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,917评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,360评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,673评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,814评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,509评论 4 334
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,156评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,882评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,123评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,641评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,728评论 2 351