Bruce Han的博客

不积跬步,无以至千里;不积小流,无以成江海。

0%

对数据进行分组,并对各组应用一个函数,这是数据分析工作中的重要环节。Pandas提供 了groupby功能,对数据进行切片、切块和摘要操作。本部分内容主要包括

  1. 根据一个键或多个键(可以是函数、数组或DataFrame列名)拆分Pandas对象
  2. 计算分组摘要,例如计数、均值、标准差,或者用户自定义函数
  3. 对DataFrame列应用各种各样的函数
  4. 计算透视表或交叉表
  5. 执行分位数分析
阅读全文 »

列生成算法(Column Generation)是一种用于高效求解大规模线性优化问题的算法,其理论基础是由Danzig等于1960年提出。本质上而言,列生成算法是单纯形算法的一种形式。列生成算法被应用于求解以下著名的NP-hard优化问题:人员调度问题、切割问题、车辆路径问题等。

阅读全文 »

matplotlib是一个用于创建出版质量图表的桌面绘图包,

  • 不仅支持各种操作系统上许多不同的GUI后端,
  • 而且能将图片导出为各种常见的矢量图或光栅图:PDF,SVG,JPG,PNG,BMP,GIF等。

可以导入配置文件查看可用后端,不同的操作系统可用后端会有所差异。

1
2
import matplotlib.rcsetup as rcsetup
print(rcsetup.all_backends)

阅读全文 »

数据分析和建模方面大量的工作是用在数据准备上:加载、清理、转换以及重塑。本文主要介绍数据集的合并、重塑和转换。

1
2
3
4
5
import numpy as np
import pandas as pd
pd.options.display.max_rows = 20 # 最多显示20行
np.random.seed(12345)
np.set_printoptions(precision=4, suppress=True) # 精确到4为小数
阅读全文 »

本文主要介绍Pandass读取各种类型的数据文件,实现数据加载与存储。常见的文件格式主要有:

  1. 文本文件
  2. JSON数据
  3. Excel文件
  4. 使用HTML和WEB API获取的数据
  5. 数据库
阅读全文 »

Pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。Pandas纳入 了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供 了大量能使我们快速便捷地处理数据的函数和方法。它是使Python成为强大而高效的数据 分析环境的重要因素之一。

1
2
import numpy as np
import pandas as pd
阅读全文 »

Numpy是高性能科学计算和数学分析的基础包,是大多数高级工具的构建基础。具备以下功能:

  • ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组

  • 对数组数据进行快速运算的标准数学函数(无需编写循环)

  • 读写磁盘数据的工具

  • 线性代数、随机数生成以及傅里叶变换

  • 集成由C、C++、Fortran等语言编写代码的工具

标准的NumPy约定导入方法:

1
import numpy as np
阅读全文 »

本文主要简单介绍Python的入门基础知识,包括简单的输入输出、数据类型、循环结构 以及Python的特殊数据结构:列表、元组以及字典等。

阅读全文 »

Jupyter Notebook是什么

Jupyter Notebook,是一个可以把代码、图像、注释、公式和做图于一体,实现可读性分析的灵活工具。

  • 延伸性好,支持多种编程语言
  • 完全免费
  • 便于演示

Notebook是用网页访问的,你可以在浏览器中编写和执行程序。并且可以在其它机器上远程调用它,这种环境也屏蔽了不同系统的显示差异。在分享示例代码的时候,也非常方便,完全不用再去考虑格式的问题。

阅读全文 »

用GA求解N个节点的TSP问题,首先导入可能用到的库。

1
2
3
4
5
6
7
8
9
10
# 导入deap相关库
from deap import base
from deap import creator
from deap import tools
from deap import algorithms

import numpy as np
import matplotlib.pyplot as plt
import random
import json
阅读全文 »