Pandas

四、Pandas

  • 简介
  • Series
  • DataFrame
  • 时间对象处理
  • 数据分组和聚合
  • 其他常用方法

1、简介

pandas是一个强大的Python数据分析的工具包,它是基于Numpy构建的,正因pandas的出现,让Python语言也成为使用最广泛而且强大的数据分析环境之一。

Pandas的主要功能:

  • 具备对其功能的数据结构DataFrame,Series
  • 集成时间序列功能
  • 提供丰富的数学运算和操作
  • 灵活处理缺失数据

安装方法:

pip install pandas

引用方法:

import pandas as pd

2、Series

Series是一种类似于一维数组的对象,由一组数据和一组与之相关的数据标签(索引)组成

1、创建方法

第一种:
pd.Series([4,5,6,7,8])
执行结果:
0    4
1    5
2    6
3    7
4    8
dtype: int64
# 将数组索引以及数组的值打印出来,索引在左,值在右,由于没有为数据指定索引,于是会自动创建一个0到N-1(N为数据的长度)的整数型索引,取值的时候可以通过索引取值,跟之前学过的数组和列表一样
-----------------------------------------------
第二种:
pd.Series([4,5,6,7,8],index=['a','b','c','d','e'])
执行结果:
a    4
b    5
c    6
d    7
e    8
dtype: int64
# 自定义索引,index是一个索引列表,里面包含的是字符串,依然可以通过默认索引取值。
-----------------------------------------------
第三种:
pd.Series({"a":1,"b":2})
执行结果:
a    1
b    2
dtype: int64
# 指定索引
-----------------------------------------------
第四种:
pd.Series(0,index=['a','b','c'])
执行结果:
a    0
b    0
c    0
dtype: int64
# 创建一个值都是0的数组
-----------------------------------------------

对于Series,其实我们可以认为它是一个长度固定且有序的字典,因为它的索引和数据是按位置进行匹配的,像我们会使用字典的上下文,就肯定也会使用Series

缺失数据

  • dropna() # 过滤掉值为NaN的行
  • fill() # 填充缺失数据
  • isnull() # 返回布尔数组,缺失值对应为True
  • notnull() # 返回布尔数组,缺失值对应为False
# 第一步,创建一个字典,通过Series方式创建一个Series对象

st = {"sean":18,"yang":19,"bella":20,"cloud":21}
obj = pd.Series(st)
obj
运行结果:
sean     18
yang     19
bella    20
cloud    21
dtype: int64
------------------------------------------
# 第二步
a = {'sean','yang','cloud','rocky'}  # 定义一个索引变量
------------------------------------------
#第三步
obj1 = pd.Series(st,index=a)
obj1  # 将第二步定义的a变量作为索引传入

# 运行结果:
rocky     NaN
cloud    21.0
sean     18.0
yang     19.0
dtype: float64
# 因为rocky没有出现在st的键中,所以返回的是缺失值

通过上面的代码演示,对于缺失值已经有了一个简单的了解,接下来就来看看如何判断缺失值

1、
obj1.isnull()  # 是缺失值返回Ture
运行结果:
rocky     True
cloud    False
sean     False
yang     False
dtype: bool

2、
obj1.notnull()  # 不是缺失值返回Ture
运行结果:
rocky    False
cloud     True
sean      True
yang      True
dtype: bool

3、过滤缺失值 # 布尔型索引
obj1[obj1.notnull()]
运行结果:
cloud    21.0
yang     19.0
sean     18.0
dtype: float64

Series特性

  • 从ndarray创建Series:Series(arr)
  • 与标量(数字):sr * 2
  • 两个Series运算
  • 通用函数:np.ads(sr)
  • 布尔值过滤:sr[sr>0]
  • 统计函数:mean()、sum()、cumsum()

支持字典的特性:

  • 从字典创建Series:Series(dic),
  • In运算:’a’in sr、for x in sr
  • 键索引:sr[‘a’],sr[[‘a’,’b’,’d’]]
  • 键切片:sr[‘a’:’c’]
  • 其他函数:get(‘a’,default=0)等

整数索引

pandas当中的整数索引对象可能会让初次接触它的人很懵逼,接下来通过代码演示:

联系管理员微信tutu19192010,注册账号

上一篇
下一篇
Copyright © 2022 Egon的技术星球 egonlin.com 版权所有 帮助IT小伙伴学到真正的技术