Python数据分析01:语法基础

第1章 准备工作(Preliminaries)

1.1重要的Python库

1.1.1NumPy

NumPy(Numerical Python的简称)是Python科学计算的基础包。Numpy不仅为Python提供快速的数组处理能力,而且NumPy在数据分析⽅⾯还有另外⼀个主要作⽤,即作为在算法和库之间传递数据的容器。对于数值型数据,NumPy数组在存储和处理数据时要⽐内置的Python数据结构⾼效得多。

1.1.2pandas

pandas提供了快速便捷处理结构化数据的⼤量数据结构和函数。⾃从2010年出现以来,它使Python成为强⼤⽽⾼效的数据分析环境。本书⽤得最多的pandas对象是DataFrame,它是
⼀个⾯向列(column-oriented)的⼆维表结构,另⼀个是Series,⼀个⼀维的标签化数组对象。

pandas兼具NumPy⾼性能的数组计算功能以及电⼦表格和关系型数据库(如SQL)灵活的数据处理功能。它提供了复杂精细的索引功能,以便更为便捷地完成重塑、切⽚和切块、聚合以及选取数据⼦集等操作。

1.1.3matplotlib

matplotlib是最流⾏的⽤于绘制图表和其它⼆维数据可视化的Python库。它最初由John D.Hunter(JDH)创建,⽬前由⼀个庞⼤的开发⼈员团队维护。它⾮常适合创建出版物上⽤的图表。虽然还有其它的Python可视化库,matplotlib却是使⽤最⼴泛的,并且它和其它⽣态⼯具配合也⾮常完美

1.2引入惯例

Python社区已经⼴泛采取了⼀些常⽤模块的命名惯例:

  • import numpy as np
  • import matplotlib.pyplot as plt
  • import pandas as pd
  • import seaborn as sns
  • import statsmodels as sm

因此,当你看到np.arange时,就应该想到它引⽤的是NumPy中的arange函数



第2章 Python语法基础,IPython和Jupyter Notebooks

2.1 Python基础

加载Numpy库,生成随机数(IPython可读性较强)

import numpy as np
data = {
   i : np.random.randn() for i in range(7)}
data
#输出
{
   0: -0.05757878139706212,
1: -0.7783998166155556,
2: -0.8518952223355938,
3: -0.07822225232974736,
4: -1.317626542766965,
5: 1.3368188882374743,
6: 0.305922679176145}

在标准Python解释器上打印data,可读性较差如下

>>> from numpy.random import randn
>>> data = {
   i : randn() for i in range(7)}
>>> print(data)
{
   0: -1.5948255432744511, 1: 0.10569006472787983, 2: 1.972367135977295,
3: 0.15455217573074576, 4: -0.24058577449429575, 5: -1.2904897053651216,
6: 0.3308507317325902}

2.1.1 Tab补全

按下Tab,会搜索已输⼊变量(对象、函数等等)的命名空间

an_apple = 27
an_example = 42
an  #<Press Tab>


Tab代码补全同样适用于模块中,Tab键也可以补全文件路径

import datetime
datetime.  #<Press Tab>

在这里插入图片描述

2.1.2 自省

在变量前后使⽤问号?,可以显示对象的信息:

b = [1,2,3]
b?
#输出结果如下
Type:        list
String form: [1, 2, 3]
Length:      3
Docstring:  
Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list.
The argument must be an iterable if specified.

也可以作为对象的⾃省。如果对象是⼀个函数或实例⽅法,定义过的⽂档字符串,也会显示出信息。假设我们写了⼀个如下的函数:

def add_numbers(a, b):
    """
    Add two numbers together

    Returns
    -------
    the_sum : type of arguments
    """
    return a + b

使用 ? 显示 add_numbers() 信息

add_numbers?
#输出结果如下
Signature: add_numbers(a, b)
Docstring:
Add two numbers together

Returns
-------
the_sum : type of arguments
File:      d:\jupyter notebook\<ipython-input-94-0e543d60c645>
Type:      function

使⽤ ?? 会显示函数的源码

add_numbers??
#输出结果如下
Signature: add_numbers(a, b)
Source:   
def add_numbers(a, b):
    """
    Add two numbers together

    Returns
    -------
    the_sum : type of arguments
    """
    return a + b
File:      d:\jupyter notebook\<ipython-input-94-0e543d60c645>
Type:      function

? 还有⼀个⽤途,就是像Unix或Windows命令⾏⼀样搜索IPython的命名空间。字符与通配符结合可以匹配所有的名字。例如,我们可以获得所有包含load的 NumPy 命名空间:

np.*load*?
#输出结果如
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值