您的位置:首页 > 其它

数据分析之Pandas-01Series和DataFrame

2017-10-28 19:47 507 查看

01-什么是Pandas

Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。

pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

它使Python成为强大而高效的数据分析环境的重要因素之一。

02-导入

它使Python成为强大而高效的数据分析环境的重要因素之一。

两大神器:

- Series 是一个类似数组的数据结构。

- DataFrame 数据框类似于Excel,DataFrame组织数据,处理数据。

import pandas as pd


03-Series

(1)Series创建

由列表或numpy数组创建默认索引为0到N-1的整数型索引

obj = Series([1,2,3,4])

a = np.array([1,2,3])
obj = Series(a)


(2)Series 索引和切片

(1) 显式索引:

使用index中的元素作为索引值

使用.loc[](推荐)

注意,此时是开区间

(2) 隐式索引:

使用整数作为索引值

使用.iloc[](推荐)

注意,此时是半开区间

(3)Series的基本概念

可以把Series看成一个定长的有序字典可以通过shape,size,index,values等得到series的属性.

可以通过head(),tail()快速查看Series对象的部分样式。

当索引没有对应的值时,可能出现缺失数据显示NaN(not a number)的情况。

可以使用pd.isnull(),pd.notnull(),或自带isnull(),notnull()函数检测缺失数据。

Series对象本身及其索引都有一个name属性。

(4)Series的运算

适用于numpy的数组运算也适用于Series.

Series之间的运算在运算中自动对齐不同索引的数据如果索引不对应,则补NaN.

04-Dataframe

DataFrame创建

最常用的方法是传递一个字典来创建。DataFrame以字典的键作为每一【列】的名称,以字典的值(一个数组)作为每一列。

此外,DataFrame会自动加上每一行的索引(和Series一样)。

同Series一样,若传入的列与字典的键不匹配,则相应的值为NaN。

DataFrame 的索引

分为对行,列,元素进行索引。

【注意】 直接用中括号时:

索引表示的是列索引

切片表示的是行切片

DataFrame的运算

DataFrame之间的运算:同Series一样:

在运算中自动对齐不同索引的数据

如果索引不对应,则补NaN

Series与DataFrame之间的运算:

【重要】

使用Python操作符:以行为单位操作(参数必须是行),对所有行都有效。(类似于numpy中二维数组与一维数组的运算,但可能出现NaN)

使用pandas操作函数:

axis=0:以列为单位操作(参数必须是列),对所有列都有效。

axis=1:以行为单位操作(参数必须是行),对所有列都有效。

05-DataFrame处理数据丢失

1.有两种数据丢失

None是Python自带的,其类型为python object。因此,None不能参与到任何计算中

object类型的运算要比int类型的运算慢得多.

np.nan是浮点类型,能参与到计算中。但计算的结果总是NaN

2.pandas中的None与NaN

①pandas中None与np.nan都视作np.nan

②pandas中None与np.nan的操作

判断函数:isnull,notnull()

dropna(): 过滤丢失数据

fillna(): 填充丢失数据

对于DataFrame来说,还要选择填充的轴axis。记住,对于DataFrame来说:

axis=0:index/行

axis=1:columns/列
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: