numpy、scipy、pandas、matplotlib的读书报告

1. 有基本函数的用法

Numpy:

来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多,本身是由C语言开发。这个是很基础的扩展,其余的扩展都是以此为基础。数据结构为ndarray,一般有三种方式来创建。

Pandas:

基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。最具有统计意味的工具包,某些方面优于R软件。数据结构有一维的Series,二维的DataFrame(类似于Excel或者SQL中的表,如果深入学习,会发现Pandas和SQL相似的地方很多,例如merge函数),三维的Panel(Pan(el) + da(ta) + s,知道名字的由来了吧)。

学习Pandas你要掌握的是:
1.汇总和计算描述统计,处理缺失数据 ,层次化索引
2.清理、转换、合并、重塑、GroupBy技术
3.日期和时间数据类型及工具(日期处理方便地飞起)

Matplotlib:

Python中最著名的绘图系统,很多其他的绘图例如seaborn(针对pandas绘图而来)也是由其封装而成。
绘制的图形可以大致按照ggplot的颜色显示,但是还是感觉很鸡肋。但是matplotlib的复杂给其带来了很强的定制性。其具有面向对象的方式及Pyplot的经典高层封装。

需要掌握的是:
1.散点图,折线图,条形图,直方图,饼状图,箱形图的绘制。
2.绘图的三大系统:pyplot,pylab(不推荐),面向对象
3.坐标轴的调整,添加文字注释,区域填充,及特殊图形patches的使用
4.金融的同学注意的是:可以直接调用Yahoo财经数据绘图

Scipy:

方便、易于使用、专为科学和工程设计的Python工具包.它包括统计,优化,整合,线性代数模块,傅里叶变换,信号和图像处理,常微分方程求解器等等。基本可以代替Matlab,但是使用的话和数据处理的关系不大,数学系,或者工程系相对用的多一些。

 

2.解决一些具体问题(如:Pandas)

import pandas as pd
import numpy as np
dates = pd.date_range('20190705',periods=8) #创建时间信息dates,第一个参数是起始日期 periods是数量
df = pd.DataFrame(np.arange(24).reshape((8,3)),index=dates,columns=['A','B','C'])
#这里pd.DataFrame()有三个参数,分别是(数据源,index=列标题,columns=行标题)
print(df)
print(df.loc['20190705',['A','B']]) #对数据进行筛选 df.loc df.iloc
print(df.iloc[3])

 

3.Matplotlib图像处理的

import matplotlib.pyplot as plt
import numpy as np
# 生成测试数据
x = np.linspace(-3, 3, 50)
y1 = 2*x + 1
y2 = x**2
# 生成画布
plt.figure(facecolor='grey')

# figure()中的属性
'''
**num=3**
    画出来图的标题就是‘Figure 3’
    如果传一个str,eg.    num='折线图'   图的标题就是‘折线图’

**figsize=(8, 4)**
    指定绘图对象的宽度和高度,单位为英寸,一英寸=80px
    
**facecolor='blue'**
    背景颜色,默认是白色
    也可以以‘#+6位16进制数’给出,eg.   '#00ff00'
    
**edgecolor='red'**
    边框颜色,默认是白色
'''
# 画图
plt.plot(x, y1, linestyle='--')
plt.plot(x, y2)

# plot的属性
'''
**linewidth=3**
    线条宽度
    也可以写作   lw=3

**markersize='20'**
    线上标记的尺寸
    注意要传字符串类型的值

**marker='2'**
    线上的标记
    =============    ===============================
    character        description
    =============    ===============================
    ``'.'``          point marker
    ``','``          pixel marker
    ``'o'``          circle marker
    ``'v'``          triangle_down marker
    ``'^'``          triangle_up marker
    ``'<'``          triangle_left marker
    ``'>'``          triangle_right marker
    ``'1'``          tri_down marker
    ``'2'``          tri_up marker
    ``'3'``          tri_left marker
    ``'4'``          tri_right marker
    ``'s'``          square marker
    ``'p'``          pentagon marker
    ``'*'``          star marker
    ``'h'``          hexagon1 marker
    ``'H'``          hexagon2 marker
    ``'+'``          plus marker
    ``'x'``          x marker
    ``'D'``          diamond marker
    ``'d'``          thin_diamond marker
    ``'|'``          vline marker
    ``'_'``          hline marker
    =============    ===============================

**linestyle=':'**
    线的类型
    =============    ===============================
    character        description
    =============    ===============================
    ``'-'``          solid line style
    ``'--'``         dashed line style
    ``'-.'``         dash-dot line style
    ``':'``          dotted line style
    =============    =============================== 
    也可表示为linestyle='dashed'   

**colors='r'**

    The supported color abbreviations are the single letter codes

    =============    ===============================
    character        color
    =============    ===============================
    ``'b'``          blue
    ``'g'``          green
    ``'r'``          red
    ``'c'``          cyan
    ``'m'``          magenta
    ``'y'``          yellow
    ``'k'``          black
    ``'w'``          white
    =============    ===============================
    也可用'#ff0000'这种形式表示
'''
# 必须要有这一句画图才能显示
plt.show()

posted @ 2020-11-22 13:31  小松可可奈  阅读(52)  评论(0编辑  收藏  举报