Zihao

Make small but daily progress

0%

引言

Pandas是一个开源的Python数据分析库。Pandas把结构化数据分为了三类:

  1. Series,1维序列,可视作为没有column名的、只有一个column的DataFrame;
  2. DataFrame,同Spark SQL中的DataFrame一样,其概念来自于R语言,为多column并schema化的2维结构化数据,可视作为Series的容器(container);
  3. Panel,为3维的结构化数据,可视作为DataFrame的容器;

DataFrame较为常见,因此本文主要讨论内容将为DataFrame。DataFrame的生成可通过读取纯文本、Json等数据来生成,亦可以通过Python对象来生成:

1
2
3
4
5
import pandas as pd
import numpy as np
df = pd.DataFrame({'total_bill': [16.99, 10.34, 23.68, 23.68, 24.59],
'tip': [1.01, 1.66, 3.50, 3.31, 3.61],
'sex': ['Female', 'Male', 'Male', 'Male', 'Female']})
阅读全文 »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import numpy as np
import pandas as pd
from pandas import Sereis, DataFrame

ser = Series(np.arange(3.))

data = DataFrame(np.arange(16).reshape(4,4),index=list('abcd'),columns=list('wxyz'))

data['w'] #选择表格中的'w'列,使用类字典属性,返回的是Series类型

data.w #选择表格中的'w'列,使用点属性,返回的是Series类型

data[['w']] #选择表格中的'w'列,返回的是DataFrame类型

data[['w','z']] #选择表格中的'w'、'z'列

data[0:2] #返回第1行到第2行的所有行,前闭后开,包括前不包括后

data[1:2] #返回第2行,从0计,返回的是单行,通过有前后值的索引形式,
# 如果采用data[1]则报错

data.ix[1:2] #返回第2行的第三种方法,返回的是DataFrame,跟data[1:2]同

data['a':'b'] #利用index值进行切片,返回的是**前闭后闭**的DataFrame,
# 即末端是包含的
data.irow(0) #取data的第一行
data.icol(0) #取data的第一列

data.head() #返回data的前几行数据,默认为前五行,需要前十行则data.head(10)
data.tail() #返回data的后几行数据,默认为后五行,需要后十行则data.tail(10)

ser.iget_value(0) #选取ser序列中的第一个
ser.iget_value(-1) #选取ser序列中的最后一个,这种轴索引包含索引器的series不能采用ser[-1]去获取最后一个,这会引起歧义。

data.iloc[-1] #选取DataFrame最后一行,返回的是Series
data.iloc[-1:] #选取DataFrame最后一行,返回的是DataFrame

data.loc['a',['w','x']] #返回‘a’行'w'、'x'列,这种用于选取行索引列索引已知

data.iat[1,1] #选取第二行第二列,用于已知行、列位置的选取。
阅读全文 »

Pandas是Python的基于Numpy创建数据处理包,提供了很多高效的操作大型数据集的方法。本文主要介绍了如何使用pandas处理Excel文件。

阅读全文 »

python判断文件和文件夹是否存在、创建文件夹

1
2
3
4
5
6
7
8
9
10
11
12
>>> import os
>>> os.path.exists('d:/assist')
True
>>> os.path.exists('d:/assist/getTeacherList.py')
True
>>> os.path.isfile('d:/assist')
False
>>> os.path.isfile('d:/assist/getTeacherList.py')
True
>>> os.makedirs('d:/assist/set')
>>> os.path.exists('d:/assist/set')
True
阅读全文 »

安装

pandas 是基于Numpy构建的含有更高级数据结构和工具的数据分析包

类似于Numpy的核心是ndarraypandas也是围绕着SeriesDataFrame两个核心数据结构展开的。SeriesDataFrame 分别对应于一维的序列和二维的表结构。pandas 约定俗成的导入方法如下:

1
2
from pandas import Series,DataFrame
import pandas as pd
阅读全文 »

通过Latex输出中文PDF

安装latex可以选择完整安装,和安装latex-base版本。完整安装仅安装包就有约2.7G,latex-base是一个基础包,安装包100M左右,安装需要400M不到的空间。我们目前仅需要通过latex输出PDF文档,所以不需要安装完整安装。使用latex-base就可以了。但是latex-base安装后,不能直接使用,还需要一些额外操作才能正常支持中文格式。

Latex在 Mac OS中 叫MacTex.

阅读全文 »

Matplotlib中文显示有问题,当然可以修改配置文件matplotlibrc,不过较为麻烦。其实只要在代码中指定字体就可以了。

阅读全文 »