【前言】

本文适合了解过Python,有一定基础的读者。本人写第一篇文章,纯粹做学习笔记,关于Pandas,无疑是数据分析最重要的的库之一,所以会先从Pandas开始,会涉及的内容:Pandas简介、Pandas最重要的两种数据结构Series和DataFrame,有了基础后第三块开始实战,巩固练习。

【Pandas简介】

Pandas是什么?有哪些功能?用来做什么?为什么用它?怎么用?

参考:Pandas(Python data analysis的简写),首先是库包工具,

1、什么样的工具:有高级数据结构和函数;

2、为什么高级:可以利用结构化、表格化的数据工作快速、简单、有表现力

3、有哪些数据结构和函数:如DataFrame是表格化、面向列、使用行列标签的数据结构,Series是一种一维标签的数组对象。函数有is_null()、apply()、索引函数等等。

4、用来什么:数据操作、预处理、数据清洗。

5、怎么用:后面详细讲解。

【Series详解】

到这里,估计你已经明白,今天要分享的标题内容Pandas中的Series其实就是一种高级的数据结构,可以让数据处理有效、简单、快捷。

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

一、创建Series

1、通过列表创建

我们看到,前面自动生成0到N-1(N为列表的长度)的索引,pd.Series()括号直接传入列表

2、通过字典创建

从上面的例子我们知道,只要在pd.Series()括号内传入自定义的字典即可:这时我们发现,Series的索引变为字典的键,字典的值变成了数组。

3、通过一维数组创建

关于numpy的相关知识会在后面涉及,写文章的时候,会前后内容交叉,便于复习记忆。

一维数组的创建方法:np.array();

缺失值生成的方法:np.NaN。

【注】:Series中传入的数据类型必须统一,

如:bb=np.array([11,23,np.NAN,“李三”,24,-6,89.33]),会报错。同时我们看到float和int是可以共存的,因为是数字类型。

二、Series值的访问

1、访问值和索引:.values和.index

2、索引可以在创建的时候定义

我们仍然用data3,但是在定义索引的时候,用了三种不同的方法,原来的0到N-1的数字变成我们定义的索引。

3、通过索引访问数组:

多个的时候传入列表

4、通过布尔值访问、过滤

单独看看布尔值是什么,对应判断为真的位置的值被提取出来

那么可不可以多条件呢?

此处有坑需要注意:

错误的写法:data3[data3>20 & data3<25]

正确的写法:data3[(data3>20) & (data3<25)]

5、缺失值和非缺失值的过滤:.isnull()和.notnull()

6、运算

会广播到每个值

data4+1 #每个值+1

data4*10 #m每个值*10

data4**2 #乘方,对应到每个值

data4/10 #除法

聚合:numpy的聚合函数可以直接调用

np.sum(data4)

np.mean(data4)

np.exp(data4)

7、Series自动对齐

data4和data5如下:

两个Series相加,按照索引,两个数据索引都相同的相加,不在任何一个中以NaN填充对齐

当然还可以用对应的函数:

data5.add(data4) # 加法

data5.sub(data4) #减法

data5.div(data4) #除法

data5.mul(data4) #乘法

7、Series对象本身有name属性

【总结】:

本篇文章后,你应该掌握了pandas是什么,他的其中一种数据结构Series相关的知识:创建、读取值,条件过滤、数学运算,以及相关函数的使用。