利用Python进行数据分析-Pandas:
在Pandas库中最重要的两个数据类型,分别是Series和DataFrame。如下的内容主要围绕这两个方面展开叙述!
在进行数据分析时,我们知道有两个基础的第三方库在数据处理时显得尤为重要,即分别为NumPy库和Pandas库,前面的章节我们对于NumPy的入门有了详细的介绍,这个章节我们主要是对于Pandas库进行系统的总结。说一点题外话,之前对于学习知识的时候,基本上都是在网上看视频,但是看视频的时候,当时基本上都能够理解并且觉得很简单,也没有对于知识点做一个笔记,以致后来慢慢忘记很多的内容,俗话说得好,好记性不如烂笔头,所以自己尽量会把以后学的知识点记录在博客上,这样以后方便知识点的查询。
本编文章所使用的环境:
python:3.6.6 编译器:pycharm 操作系统:win10
一、Series
1、Series的结构:
series类型由一组数据及与之相关的数据索引组成:
举例说明:
import pandas as pd a = pd.Series([9, 8, 7, 6]) print(a)
0 9 1 8 2 7 3 6 dtype: int64
从以上结果,我们可以看到Pandas库会自动给数据增加索引!但是我们可以提供自定义索引,使用index参数可提供索引值:
import pandas as pd b = pd.Series([9, 8, 7, 6], index=['a', 'b', 'c', 'd']) print(b)
a 9 b 8 c 7 d 6 dtype: int64
以上我们可以看到数据的索引已经变更为我们提供的索引值!
2、Series类型的创建:
- 可以由python列表创建;
- 可以由标量值(一个值)创建;
- 可以由python字典创建;
- 可以由ndarray创建;
- 可以通过其他函数创建。
举例说明:
从标量值创建:当使用标量值创建的时候,index是不能被省略的:
import pandas as pd s = pd.Series(25, index=['a', 'b', 'c']) print(s)
a 25 b 25 c 25 dtype: int64
从字典类型创建:
import pandas as pd d = pd.Series({'a': 9, 'b': 8, 'c': 7}) print(d)
a 9 b 8 c 7 dtype: int64
另外:在使用字典创建时,索引值可以根据index来选择操作:
import pandas as pd e = pd.Series({'a': 9, 'b': 8, 'c': 7}, index=['c', 'a', 'b', 'd']) print(e)
c 7.0 a 9.0 b 8.0 d NaN dtype: float64
当索引值无对应值时,显示为NaN。
从ndarray类型创建:当不提供index时,series会提供自动索引
import pandas as pd import numpy as np n = pd.Series(np.arange(5)) print(n)
0 0 1 1 2 2 3 3 4 4 dtype: int32
从ndarray类型创建:当提供index时,series使用提供的索引
import pandas as pd import numpy as np m = pd.Series(np.arange(5), index=np.arange(9, 4, -1)) print(m)
9 0 8 1 7 2 6 3 5 4 dtype: int32
3、Series类型的基本操作
series类型包括index和values两部分:其实对于series的操作理论上是对于index和values的操作:
举例说明:首先创建一个series类型
import pandas as pd b = pd.Series([9, 8, 7, 6], ['a', 'b', 'c', 'd']) print(b)
a 9 b 8 c 7 d 6 dtype: int64
series类型的索引值:如下使用.index方法
print(b.index)
Index(['a', 'b', 'c', 'd'], dtype='object')
series类型的数据:如下使用.values方法
print(b.values)
[9 8 7 6]
另外,对于值的引用可以使用切片的形式:
print(b['b'])
8
print(b[1])
8