数据分析(三)Pandas

一.Pandas的简介

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

Pandas的主要功能:

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

安装方法:

pip install pandas

引用方法:

import pandas as pd

 

二.Pandas之Series

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

1.创建和取值方式

第一种

 

第二种

 

第三种

 

生成一个全是0的数组

 

2.对缺失数据的填充

共有四种方式

  • dropna() # 过滤掉值为NaN的行
  • fill() # 填充缺失数据
  • isnull() # 返回布尔数组,缺失值对应为True
  • notnull() # 返回布尔数组,缺失值对应为False

 

3.Series特性

和numpy相同的特性

  • 从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)等

 

4.整数索引

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

sr = pd.Series(np.arange(10))
sr1 = sr[3:].copy()
sr1
运行结果:
3    3
4    4
5    5
6    6
7    7
8    8
9    9
dtype: int32
# 到这里会发现很正常,一点问题都没有,可是当使用整数索引取值的时候就会出现问题了。因为在pandas当中使用整数索引取值是优先以标签解释的,而不是下标
sr1[1]

解决方法:

  • loc属性 # 以标签解释
  • iloc属性 # 以下标解释

 

5.Series数据对齐

pandas在运算时,会按索引进行对齐然后计算。如果存在不同的索引,则结果的索引是两个操作数索引的并集。

灵活的算术方法:add,sub,div,mul

 

二.Pandas之DataFrame

DataFrame是一个表格型的数据结构,相当于是一个二维数组,含有一组有序的列。他可以被看做是由Series组成的字典,并且共用一个索引。

1.创建和取值方式

第一种

 

第二种

 

2.常用的属性和方法

  • index 获取行索引
  • columns 获取列索引
  • T 转置
  • values 获取值索引
  • describe 获取快速统计

 

3.操作表格

 

4.读取网页的表格

例:读取百度百科NBA总冠军并从中筛选数据

a.读取历年数据

 

b.将表格进行筛选整理并写到文件中

 

c.筛选出历年的冠军并根据获得冠军次数进行排序

 

 d.筛选出历年FMVP,并根据次数排序

 

 

5.时间对象处理

时间序列类型

  • 时间戳:特定时刻
  • 固定时期:如2019年1月
  • 时间间隔:起始时间-结束时间

Python库:datatime

  • date、time、datetime、timedelta
  • dt.strftime()
  • strptime()

 99

 

posted @ 2019-12-04 20:44  瓜落桥下塘  阅读(211)  评论(0编辑  收藏  举报