1-python data science

数据科学学习

环境
python3.8 ipython
而外包:

numpy
pandas
scipy
scikit-learn
scikit-image
pillow
matplotlib
seaborn
jupyter
notebook
line_profiler
memory_profiler
numexpr
pandas-datareader
netcdf4

ipython使用如下:

In [7]: import numpy
In [8]: numpy.__version__
Out[8]: '1.18.1'
  1. python 的基本类型
    首先理解标准的Python实现是用C编写的
    所以python的动态语言基本类型其实是对应c中的数据结构
    例如x =10000,x不仅是“原始”整数。它实际上是指向包含多个值的复合C结构的指针。查看Python 3.4源代码,我们发现整数(长型)类型定义实际上看起来像这样(一旦扩展了C宏):
struct _longobject {
    long ob_refcnt;
    PyTypeObject *ob_type;
    size_t ob_size;
    long ob_digit[1];
};

Python 3.4中的单个整数实际上包含四个部分:

ob_refcnt,一个参考计数,可帮助Python静默处理内存分配和释放
ob_type,它编码变量的类型
ob_size,它指定以下数据成员的大小
ob_digit,包含我们期望Python变量表示的实际整数值。

这意味着与使用C之类的编译语言中的整数相比,在Python中存储整数会产生一些开销,如下图所示:


图片.png

这里PyObject_HEAD是结构的一部分,包含引用计数,类型代码和前面提到的其他部分

注意区别:C整数本质上是内存中某个位置的标签,其字节编码一个整数值。 Python整数是指向内存中包含所有Python对象信息的位置的指针,包括包含整数值的字节。 Python整数结构中的这些额外信息使Python能够如此自由,动态地编码。但是,Python类型中的所有这些附加信息都是有代价的,在结合了许多这些对象的结构中,这尤其明显

参考:PythonDataScienceHandbook
廖雪峰python教程

更新github

你可能感兴趣的:(1-python data science)