一、pandas简介
pandas是基于NumPy构建的一个强大的Python数据分析的工具包。
主要功能:
- 具备对其功能的数据结构:DataFrame、Series
- 集成时间序列功能
- 提供丰富的数学运算和操作
- 灵活处理缺失数据
安装方法
pip install pandas
二、pandas.Series
- Series是一种类似于一维数组的对象,由一组数据和一组与之相关的数据索引组成。
- Series比较像列表 (数组)和字典的结合体
2.1 Series创建方式
import pandas as pd # 当传入值为列表时,数据索引从0开始自增 sr = pd.Series(["张三", "李四", "王五"]) print(sr) # 当传入值为字典时,数据索引为key sr = pd.Series({'a': "张三", 'b': "李四"}) print(sr)
执行结果
2.2 Series特性
- 算数运算: sr*2、sr1+sr2。pandas在运算时,会按索引进行对齐然后计算。如果存在不同的索引,则结果的索引是两个操作数索引的并集。
- 字典方式取值: sr[0], sr[[1,2,4]]
- 切片取值: sr[0:2]
- 比较运算取值: sr[sr>0]
import pandas as pd # 当传入值为列表时,标签索引从0开始自增 sr = pd.Series(["张三", "李四", "王五", 5]) sr1 = pd.Series({0: "三", "b": "四", "c": "五"}) # 支持算数运算 print("==== 基础运算 ====") print(sr * 2) # 两个sr运算时,只有索引值相同的数据才会进行计算,不相同部分结果为NaN print(sr + sr1) # 取值 print("==== 传入单个数据索引取值,返回值类型为提取值的类型 ====") print(sr.get(1)) print(sr1["b"]) print("==== 传入列表类型的数据索引取值,返回的类型仍为Series ====") print(sr.get([0, 2])) print(sr1[['b', 'c']]) print("==== 切片取值,返回的类型仍为Series ====") print(sr1[:2]) print("==== 比较运算取值 ====") print(sr["张三" == sr]) sr3 = pd.Series(range(10)) print(sr3[sr3 > 6])
2.3 常用方法
2.3.1 values和index
- index:获取数据索引列表
- values:获取数据列表
import pandas as pd # 当传入值为列表时,标签索引从0开始自增 sr = pd.Series(["张三", "李四", "王五"]) # 获取索引列表 print(sr.index) print(sr.index[-1]) # 获取数据列表 print(sr.values)
执行结果
2.3.2 loc和iloc
- loc:通过数据索引值获取值
- iloc:通过数据下标获取值
import pandas as pd sr = pd.Series({"a": "一", "b": "二", "c": "三", "d": "四"}) # loc:通过数据索引值获取值 print(sr.loc[["b", "d"]] # iloc:通过数据下标获取值 print(sr.iloc[1:])
执行结果
2.4 缺失数据(NaN)处理
- 去除NaN:dropna()
- 填充NaN:fillna(填充值)
import pandas as pd sr1 = pd.Series([1, 3, 4]) sr2 = pd.Series([5, 5, 6, 7, 8]) sr = sr1 + sr2 print(sr) # 去除NaN:dropna() print(sr.dropna()) # 填充NaN:fillna(v) print(sr.fillna(0))
DataFrame
- DataFrame是一种表格型的数据结构,是一组有序的Series列。
- DataFrame可以看做是由Series组成的字典。
标签:数据分析,Python,Series,索引,pd,sr,print,pandas From: https://www.cnblogs.com/testlearn/p/16859452.html