2. Pandas
大约 3 分钟
Pandas 入门。
1. 初识 Pandas
安装 Pandas 命令:
pip install pandas
如果导入/导出 Excel 文件数据,则需要安装其他依赖库:
xlrd
:Excel 文件读取xlwt
:Excel 文件写入openpyxl
:Excel 文件读写xlsxwriter
:Excel 文件写入
2. Series
对象
Series
对象是一种类似于一维数组的对象,它由一组数据以及一组与之相关的数据标签(即索引)组成。
Index | Value |
---|---|
0 | Data 1 |
1 | Data 2 |
2 | Data 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. 缺失值处理
- 忽略
- 删除
- 填充或替换值
- 插值(使用平均数、中位数、众数等进行填充)
使用 isnull()
和 notnull()
判断是否为空值,使用 dropna()
删除空值,使用 fillna()
填充空值。
2. 重复数据处理
使用 duplicated()
判断是否有重复数据,使用 drop_duplicates()
删除重复数据。
使用 drop_duplicates()
删除重复数据时,可以指定 keep
参数:
keep='first'
:保留第一次出现的重复数据keep='last'
:保留最后一次出现的重复数据keep=False
:删除所有重复数据
使用 subset
参数指定列名,对指定列进行重复数据处理。
3. 异常值处理
什么是异常值?异常值是指样本中的个别值,其数值明显偏离其余的观测值。
异常值的检测方法:
- 根据经验判断
- 箱型图分析
- 原则
- 均方差
异常值的处理方法:
- 删除
- 修正填补
- 特殊分析