Pandas(Python Data Analysis Library)是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。它是使Python成为强大而高效的数据分析环境的重要因素之一。
Pandas专用于数据预处理和数据分析的Python第三方库,最适合处理大型结构化表格数据
1、Pandas引入约定
import pandas as pd
2、Pandas数据结构:Pandas的核心为两大数据结构(Series 和 DataFrame),数据分析相关所有事物都是围绕着这两种结构进行的
Series 是一个带有名称和索引的一维数组,在 Series 中包含的数据类型可以是整数、浮点、字符串、Python对象等。
1、基础属性:
shape:返回数据形状(行列数目)
(1)简单构建一个含索引和年龄的用户信息
import pandas as pd
info = pd.Series(data=[24,45,33,62])
print(info)
(2)将索引自定义为名字,即将年龄与用户联系起来
import pandas as pd
# 构建索引
# name="user_index":为索引起一个名字
user_index=pd.Index(['Tom','Scott','Jass','Jame'],name="user_index")
# 构建Series
# name="user_info":为 Series 起个名字
user_info = pd.Series(data=[24, 45, 33, 62],index=user_index,name="user_info",dtype=float)
print(user_info)
(3)Series 访问 :Series 包含了 dict 的特点,也就意味着可以使用与 dict 类似的一些操作。我们可以将 index 中的元素看成是 dict 中的 key
(4)Series 除了像 dict 外,也非常像 ndarray,这也就意味着可以采用切片操作
(5)Series 与 ndarray 一样,也是支持向量化操作的。同时也可以传递给大多数期望 ndarray 的NumPy 方法。
DataFrame 是一个带有索引的二维数据结构,每列可以有自己的名字,并且可以有不同的数据类型。你可以把它想象成一个 excel 表格或者数据库中的一张表,DataFrame 是最常用的 Pandas 对象。
1、基础属性:
2、DataFrame 创建
(1)构建一个dict,将dict传递给data参数
(2)先构建一个二维数组,然后再生成一个列名称列表。
(1)访问行 --> 通过索引名 --> loc方法
(2)访问行 --> 通过行所在位置 --> iloc方法
(3)访问列 --> 通过属性(.列名)
(4)访问列 --> 通过[column]
(5)新增列:通过传入一个标量,Pandas 会自动帮我们广播来填充所有的位置
(6)删除列:
drop(labels, axis=0, level=None, inplace=False, errors='raise')
参数解释:
四、Pandas处理Excel数据
Pandas依赖处理Excel的xlrd模块,所以需要提前安装这个,安装命令是:
pip install xlrd
1、读取Excel文件的方式
(1)默认读取第一个表单
(2)通过指定表单名的方式来读取
(3)通过表单索引来指定要访问的表单,0表示第一个表单
2、Pandas操作Excel的行列
(1)读取指定行
import pandas as pd
#这个会直接默认读取到这个Excel的第一个表单
df = pd.read_excel("E:\课件\Python课件\数据分析\测试用数据\demo.xlsx")
data = df.iloc[0].values #0表示第一行 这里读取数据并不包含表头,要注意哦!
print("获取的数据是:\n{0}".format(data))
(2)读取指定的多行,数据会存在嵌套的列表里面:
import pandas as pd
#这个会直接默认读取到这个Excel的第一个表单
df = pd.read_excel("E:\课件\Python课件\数据分析\测试用数据\demo.xlsx")
data = df.iloc[[0,3]].values #表示第一行和第三行
print("获取的数据是:\n{0}".format(data))
(3)读取指定的行列
import pandas as pd
#这个会直接默认读取到这个Excel的第一个表单
df = pd.read_excel("E:\课件\Python课件\数据分析\测试用数据\demo.xlsx")
data = df.iloc[0,2] #表示第一行第三列值
print("获取的数据是:\n{0}".format(data))
(4)读取指定的多行多列值
import pandas as pd
#这个会直接默认读取到这个Excel的第一个表单
df = pd.read_excel("E:\课件\Python课件\数据分析\测试用数据\demo.xlsx")
data = df.iloc[[0,2],[0,1]] #表示第一行和第三行的第一列和第二列值
print("获取的数据是:\n{0}".format(data))
(5)获取所有行的指定列
import pandas as pd
#这个会直接默认读取到这个Excel的第一个表单
df = pd.read_excel("E:\课件\Python课件\数据分析\测试用数据\demo.xlsx")
data = df.iloc[:,[0,1]] #表示所有行的第一列和第二列值
print("获取的数据是:\n{0}".format(data))
(6)获取行号并打印输出
import pandas as pd
#这个会直接默认读取到这个Excel的第一个表单
df = pd.read_excel("E:\课件\Python课件\数据分析\测试用数据\demo.xlsx")
print("输出行号列表:",df.index.values)
(7)获取列名并打印输出
import pandas as pd
#这个会直接默认读取到这个Excel的第一个表单
df = pd.read_excel("E:\课件\Python课件\数据分析\测试用数据\demo.xlsx")
print("输出列标题",df.columns.values)
(8)获取指定行数的值
import pandas as pd
#这个会直接默认读取到这个Excel的第一个表单
df = pd.read_excel("E:\课件\Python课件\数据分析\测试用数据\demo.xlsx")
print("输出值",df.sample(3).values)#这个方法类似于head()方法以及df.values方法
(9)获取指定列的值
import pandas as pd
#这个会直接默认读取到这个Excel的第一个表单
df = pd.read_excel("E:\课件\Python课件\数据分析\测试用数据\demo.xlsx")
print("输出值\n",df['姓名'].values)
3、pandas处理Excel数据成为字典
import pandas as pd
#这个会直接默认读取到这个Excel的第一个表单
df = pd.read_excel("E:\课件\Python课件\数据分析\测试用数据\demo.xlsx",sheet_name="python")
test_data=[]
for i in df.index.values:#获取行号的索引,并对其进行遍历:
#根据i来获取每一行指定的数据 并利用to_dict转成字典
row_data=df.iloc[i,[0,1,2]].to_dict()
test_data.append(row_data)
print("最终获取到的数据是:{0}".format(test_data))
五、Pandas处理CSV文件的数据
1、什么是csv文件?
csv是最通用的一种文件格式,它可以非常容易地被导入各种PC表格及数据库中。此文件,一行即为数据表的一行。生成数据表字段用半角逗号隔开。csv文件用记事本和excel都能打开,用记事本打开显示逗号,用excel打开,没有逗号了,逗号都用来分列了,还可有Editplus打开。
2、Pandas读取csv文件
import pandas as pd
file_path = 'E:\课件\Python课件\数据分析\测试用数据\loan.csv'
# 使用pd.read_csv读取数据
ratings = pd.read_csv(file_path,encoding="gb18030")
print(ratings)
# 查看数据的前几行
print("查看数据的前几行:\n ", ratings.head())
# 查看数据的形状(返回行数,列数)
print("查看数据的形状:\n ", ratings.shape)
# 查看列表列名
print("查看列表列名:\n ", ratings.columns)
# 查看索引列
print("查看索引列:\n ", ratings.index)
# 查看每列的数据类型
print("查看每列的数据类型:\n ", ratings.dtypes)
六、Pandas读取txt文件
import pandas as pd
file_path = 'E:\课件\Python课件\数据分析\测试用数据\exam.txt'
# 使用pd.read_csv读取数据
pvuv = pd.read_csv(file_path, sep='\t', header=None, names=['地址', '编号', '逻辑值'],encoding="gb18030")
"""
sep: 指定列的分隔符
header: 没有标题行设置为None
names: 自定义列名
"""
print(pvuv)
# 查看数据的前几行
print("查看数据的前几行:\n ", pvuv.head())
# 查看数据的形状(返回行数,列数)
print("查看数据的形状:\n ", pvuv.shape)
# 查看列表列名
print("查看列表列名:\n ", pvuv.columns)
# 查看索引列
print("查看索引列:\n ", pvuv.index)