本文主要为笔者学习kaggle实战项目“Daily sea ice exten data”时心得笔记,项目主要利用NSIDC提供的每日海冰面积(sea ice extent)数据进行数据分析,学习源代码为Mathew Savage:visualisation of sea-ice data,仅供交流参考。
1.库的载入
1.1warnings库
当程序执行时会有warning发生,但这实际并不影响程序进行,因此可以导入warnings库来忽略。
import warnings
warnings.filterwarnings('ignore')
1.2数据处理相关库
除了numpy和panda,因为该数据为时间序列,因此载入datetime库
import numpy as np
import pandas as pd
import datetime as dt
1.3 绘图相关库
import matplotlib.pyplot as plt
import seaborn as sns
plt.set.use('ggplot')
sns.set_style('white')
%matplotlib inlie
除了载入库外,习惯在开始对绘图风格进行设置。这里plt风格设置为ggplot,而sns的背景设置为纯白色。
%matplotlib inlie 命令可以让图片直接嵌入就jupter notebook,不用重复输入plt.show()
1.4 迭代器
itertools是python自带的标准库,提供了一些生成迭代对象的函数。这里因为要循环绘图各年的情况所以使用了迭代器。
import itertools
常用迭代函数包括count,cycle,repeat产生无限迭代循环对象,使用方法如* itertools.count(1), itertools.cyle('ABC'), itertools.repeat('A',10) ,itertool.chain('ABC','XYZ'),itertool.groupby(‘AAABBBCCAAA’)*
详细用法可见廖雪峰python教程:itertools
import itertools
natuals = itertools.count(1)
for n in natuals:
print n
1.5 高级绘图
import matplotlib.dates as mdates
from matplotlib.offsetbox import AnchoredText
因为绘制图形与时间有关,导入matplotlib中加强版时间序列处理工具matplotlib.dates,相关用法在使用时具体说明
matplotlib.offsetbox.AnchoredText 用于在图中增加标注,代码中的使用为
axarr[0].add_artist(AnchoredText('Northern Hemisphere', loc=3))
axarr[1].add_artist(AnchoredText('Southern Hemisphere', loc=2))
其中loc表示标准的位置:
'upper right' : 1,
'upper left' : 2,
'lower left' : 3,
'lower right' : 4,
'right' : 5,
'center left' : 6,
'center right' : 7,
'lower center' : 8,
'upper center' : 9,
'center' : 10
效果:
图片.png
该部分完整代码
import warnings
warnings.filterwarnings('ignore')
import numpy as np
import pandas as pd
import datetime as dt
import matplotlib.pyplot as plt
import seaborn as sns
plt.style.use('ggplot')
sns.set_style('white')
import itertools
import matplotlib.dates as mdates
from matplotlib.offsetbox import AnchoredText
%matplotlib inline
网友评论