Pandas
Pandas简介
- 专门用于数据挖掘的开源python库
- 以Numpy为基础,借力Numpy模块在计算方面性能高的优势
- 基于matplotlib,能够简便的画图
- 独特的数据结构
- 相比于Numpy优势:
- pandas的数据展示结果可读性更好
- 处理数据更加方便
- 读取文件更加方便
Pandas数据结构
Series结构(一维数组的数据结构):
- Series是一个类似于一维数组的数据结构,它能够保存任何类型的数据,如整数、字符床、浮点数等,主要由一组数据和与之相关的索引两部分构成
- Series创建
1
2
3
4
5
6import pandas as pd
pd.Series(data=data, index=index, dtype=dtype)
# 参数:data:可以是array,list;index:索引,和data长度一致,不传默认生成0-n的整数索引;dtype:数据的类型
pd1 = pd.Series(np.arange(10))
# 也可通过字典创建
pd1 = pd.Series({"a":"b"})- Series属性
1
2
3
4
5
6# 获取索引
pd1.index
# 获取值
pd1.values
# 也可通过下标获取值
pd1[0]Dataframe结构(二维数组的数据结构):
- DataFrame是一个类似于二维数组或表格的对象,既有行索引又有列索引
- DataFrame创建
1
2
3
4
5pd.DataFrame(data=data, index=index, columns=columns)
# 参数:data:可以是array,list;index:行索引,和data长度一致,不传默认生成0-n的整数索引;columns:列索引,和data长度一致,不传默认生成0-n的整数索引;
index = ["行1","行2"]
columns = ["列1","列2","列3"]
df1 = pd.DataFrame(np.random.randn(2,3),index=index,columns=columns)- DataFrame属性
1
2
3
4
5
6
7
8
9
10df1.shape # 获取DataFrame形状
df1.index # 获取DataFrame行索引
df1.columns # 获取DataFrame列索引
df1.values # 获取DataFrame值,返回array数组
df1.T # 对DataFrame进行行列装换
df1.head(num) # 显示前num行
df1.tail(num) # 显示后num行
df1.index = ["行_1","行_2"] # 修改索引,必须整体修改
df1.reset_index(drop=False) # 重置索引,False为不删除索引,True为删除索引
df1.set_index(["列1"]) # 设置列1为索引列Multilndex结构(三维数组的数据结构):
- Multilndex是三维数据结构:也称多级索引,可以在Series、DataFrame对象上拥有2个以及2个以上的索引
- Multilndex创建
1
2
3
4
5
6df2 = df1.set_index(["列1", "列2"])
# 获取索引
df2.index
MultiIndex(levels=[[列1去重后的所有元素],[列2去重后的所有元素]],
labels=[[列1该位置元素对应levels的下标],[列1该位置元素对应levels的下标]],
name=["列1","列2"])数据操作常用API
1 | # 索引切片 |
DataFrame运算
1 | # 加减 |
DataFrame画图
1 | import matplotlib.pyplot as plt |
文件读取与存储
1 | # csv读取与存储 |
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 zoubinbf@163.com