跳至主要內容

2. Pandas

Alex Sun大约 3 分钟

Pandas 入门。

1. 初识 Pandas

安装 Pandas 命令:

pip install pandas

如果导入/导出 Excel 文件数据,则需要安装其他依赖库:

  • xlrd:Excel 文件读取
  • xlwt:Excel 文件写入
  • openpyxl:Excel 文件读写
  • xlsxwriter:Excel 文件写入

2. Series 对象

Series 对象是一种类似于一维数组的对象,它由一组数据以及一组与之相关的数据标签(即索引)组成。

IndexValue
0Data 1
1Data 2
2Data 3
import pandas as pd

data = [1, 2, 3, 4, 5]
s = pd.Series(data)

s.info()
print(s)

通过 index 参数指定索引:

import pandas as pd

data = [1, 2, 3, 4, 5]
index = ['a', 'b', 'c', 'd', 'e']
s = pd.Series(data, index=index)

s.info()
print(s)

3. Series 对象的索引

  • 位置索引,例如 s[0],范围是 [0, N-1]
  • 标签索引,例如 s['a'],多个标签使用列表,例如 s[['a', 'b']]
  • 切片索引,例如 s[0:3],和 Python 切片类似
  • 布尔索引,例如 s[s > 3],返回满足条件的数据

使用 s.values 获取数据,使用 s.index 获取索引。

4. DataFrame 对象

DataFrame 对象是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等),DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典。

DataFrame 有一些重要的属性和方法:

属性/方法描述
values以二维 ndarray 的形式返回 DataFrame 中的数据
columns返回 DataFrame 的列索引
dtypes返回 DataFrame 中每一列的数据类型
index返回 DataFrame 的行索引
T返回 DataFrame 的转置
shape返回 DataFrame 的形状(行数、列数)
tail(n)返回 DataFrame 的后 n 行数据,默认 n=5
head(n)返回 DataFrame 的前 n 行数据,默认 n=5
info()返回 DataFrame 的基本信息(行数、列数、列索引、列非空值个数、列类型、内存占用)
describe()返回 DataFrame 的基本统计信息(行数、均值、标准差、最小值、最大值、四分位数)

使用下面的语句规范输出格式:

import pandas as pd

pd.set_option('display.unicode.east_asian_width', True)

下面是一些聚集函数,它们都是 DataFrame 的方法:

方法描述
count()返回 DataFrame 每一列的非空值个数
sum()返回 DataFrame 每一列的和
mean()返回 DataFrame 每一列的均值
median()返回 DataFrame 每一列的中位数
min()返回 DataFrame 每一列的最小值
max()返回 DataFrame 每一列的最大值
std()返回 DataFrame 每一列的标准差
var()返回 DataFrame 每一列的方差
cumsum()返回 DataFrame 每一列的累计和
cumprod()返回 DataFrame 每一列的累计积
cummax()返回 DataFrame 每一列的累计最大值
cummin()返回 DataFrame 每一列的累计最小值
corr()返回 DataFrame 每一列的两两之间的相关系数

导入外部数据

数据抽取以及增、删、改操作

数据清洗

1. 缺失值处理

  1. 忽略
  2. 删除
  3. 填充或替换值
  4. 插值(使用平均数、中位数、众数等进行填充)

使用 isnull()notnull() 判断是否为空值,使用 dropna() 删除空值,使用 fillna() 填充空值。

2. 重复数据处理

使用 duplicated() 判断是否有重复数据,使用 drop_duplicates() 删除重复数据。

使用 drop_duplicates() 删除重复数据时,可以指定 keep 参数:

  • keep='first':保留第一次出现的重复数据
  • keep='last':保留最后一次出现的重复数据
  • keep=False:删除所有重复数据

使用 subset 参数指定列名,对指定列进行重复数据处理。

3. 异常值处理

什么是异常值?异常值是指样本中的个别值,其数值明显偏离其余的观测值。

异常值的检测方法:

  • 根据经验判断
  • 箱型图分析
  • 3σ3\sigma 原则
  • 均方差

异常值的处理方法:

  • 删除
  • 修正填补
  • 特殊分析

数据排名、计算、格式化

数据统计与合并

数据导出

课堂案例