介绍
Pandas 是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来,目前由专注于Python数据包开发的PyData开发team继续开发和维护,属于PyData项目的一部分。Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持。 Pandas的名称来自于面板数据(panel data)和python数据分析(data analysis)。panel data是经济学中关于多维数据集的一个术语,在Pandas中也提供了panel的数据类型。
课件
Pandas课件.py
下载 之后修改后缀 .py 改成 .rar
安装
pip install pandaspip3 install pandas
基本数据类型
| 数据类型 | 说明 | 新建方法 |
|---|---|---|
| csv、tsv、txt | 用逗号分隔、tab分割的纯文本文件 | pd.to_csv |
| excel | xls或xlsx | pd.to_excel |
| mysql | 关系数据库表 | pd.to_sql |
1 创建文件
# xlsx文件 txt文件 excel文件 同理import pandas as pdpath = "C:\\Users\\chentao\\Desktop\\test.xlsx"path = "test.xlsx"a = pd.DataFrame()a.to_excel(path)print("新建文件成功")
# xlsx文件 txt文件 excel文件 同理import pandas as pdpath = "C:\\Users\\chentao\\Desktop\\test.xlsx"path = "test.xlsx"jsonData = {"序号": [1, 2, 3], "姓名": ["小明", "小红", "小黄"]}a = pd.DataFrame(jsonData)a = a.set_index("序号") # 设置 序号 为索引a.to_excel(path)print("新建文件成功")
2 读取文件
2.1 read_csv
# 知识点 read_csv() 函数的参数"""sep="" # 默认分隔符是逗号, 指定分隔符 or 正则表达式 \s+header=None # 默认0第一行为表头, 没有表头(列名)names=[] # 设置 自定义表头(列名) 与header=None 一起使用index_col="" # 指定列索引显示最前面 单个索引 index_col = "性别" 多个索引 index_col = ["性别", "姓名"]skiprows=[] # 不想显示 过滤 skiprows=[2,3] 不打印第2 和 3 行的数据encoding="" # 指定编码 utf-8nrows=3 # 显示多少行 nrows=3"""import pandas as pdpath = "C:/pandas/test.txt"data = pd.read_csv(path,header=None, names=["序号","姓名"],encoding="utf-8")
2.2 read_table
3 txt文件转csv文件
import pandas as pddata = pd.read_csv("test.txt") # "C:/pandas/test.txt"data.to_csv("test.csv") # "C:/pandas/test.csv"
4 读取与修改 excel文件
注意需要安装相关的模块 xrld 模块
pip install xrld
pip install openpyxlimport openpyxl
import pandas as pdpath="test.xlsx"data = pd.read_excel(path,header=None,names=["序号","姓名"])print(data)data.to_excel(path) # 把带有自定义表头数据 重新覆盖写入
三 Pandas的数据结构
3.1 Series
DataFrame:二维数据,整个表格,多行多列 【简称df】
df.index:索引列
df.columns:列名
Series:一维数据,一行或一列
| id | 姓名 | 性别 | 来自 |
|---|---|---|---|
| 1 | 杨过 | 男 | 神雕 |
| 2 | 小龙女 | 女 | 神雕 |
| 3 | 张无忌 | 男 | 倚天 |
| 4 | 周芷若 | 女 | 倚天 |
| 5 | 赵敏 | 女 | 倚天 |
3.1.1 Series常用方法
常用方法
数据.index #查看索引
数据.values #查看数值
数据.isnull() #查看为空的,返回布尔型
数据.notnull()
数据.sort_index() #按索引排序
数据.sort_values() #按数值排序
3.2 DataFrame
DataFrame是一个表格型的数据结构
- 每列可以是不同的值类型(数值、字符串、布尔值等)
- 既有行索引index,也有列索引columns
- 可以被看做由Series组成的字典
创建DataFrame最常用的方法,参考读取CSV、TXT、Excel、MySQL等
import pandas as pd
数据=pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]],columns=[‘a’,’b’,’c’])
print(数据)
print(数据[‘a’][0] )
print(数据.loc[0][‘a’] )
print(数据.iloc[0][0] )
print(数据[[‘a’,’b’]])
loc就根据这个index来索引对应的行。iloc并不是根据index来索引,而是根据行号来索引,行号从0开始,逐次加1。
- 数据.loc方法:根据行,列的标签值查询
- 数据.iloc方法:根据行,列的数字位置查询
关于查询数据的问题,后面课程还会做详细讲解
