介绍
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 pandas
pip3 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 pd
path = "C:\\Users\\chentao\\Desktop\\test.xlsx"
path = "test.xlsx"
a = pd.DataFrame()
a.to_excel(path)
print("新建文件成功")
# xlsx文件 txt文件 excel文件 同理
import pandas as pd
path = "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-8
nrows=3 # 显示多少行 nrows=3
"""
import pandas as pd
path = "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 pd
data = 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 openpyxl
import openpyxl
import pandas as pd
path="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方法:根据行,列的数字位置查询
关于查询数据的问题,后面课程还会做详细讲解