本篇文章主要罗列了pandas模块中serie的基本使用。环境是jupyter notebook python 3.7。
serie是能够保存任何类型数据的一维数组,轴标签统称为索引,索引必须是唯一的散列且与数据的长度相同,默认情况下为np.arange(n)。
首先是import pandas模块
import pandas as pd
1.创建一个系列series create
\space\space\space\space a.通过python list创建serie
arr = [0, 1, 2, 3, 4]
s1 = pd.Series(arr)
结果如下 :
\space\space\space\space b.创建系列时,可以自定义index索引
arr = [0, 1, 2, 3, 4]
order = [1,2,3,4,5]
s2 = pd.Series(arr, index=order)
结果如下 :
\space\space\space\space c.通过numpy Ndarray 创建系列
和python list一样,使用numpy ndarray也可以创建serie,同时索引不一定需要是自然数,可以是自定义的任何确定的数字,字符串。
import numpy as np
n = np.random.randn(5) # 创建一个随机的Ndarray
index = ['a','b','c','d','e']
s3 = pd.Series(n,index=index) #索引可以不是自然数
结果如下 :
\space\space\space\space d. 通过字典创建serie
d = {'a':1, 'b':2, 'c':3, 'd':4, 'e':5}
s4 = pd.Series(d)
结果如下 :
2.对系列进行操作 serie manipulation
\space\space\space\space a. 改变索引
s1.index = np.array(['A','B','C','D','E'])
结果如下:
将原先的0-5索引改为ABCDE
\space\space\space\space b. 对serie进行切片
使用中括号可以获取serie的一部分,注意冒号是前包含后不包含的关系,例如在下面的例子中,切片部分索引的范围是[1,4)。
s1[1:4]
#s1[:]
#s1[3:]
#s1[:3]
结果如下:
\space\space\space\space c. 在serie的末尾添加另一个serie
s4 = s1.append(s3)
print(s4)
结果如下:
\space\space\space\space d.丢弃serie中的某一项
s4 = s4.drop('e')
print(s4)
结果如下:
\space\space\space\space e.基本运算加减乘除
arr1 = [0,1,2,3,4,5,7]
arr2 = [6,7,8,9,5]
s5 = pd.Series(arr2)
s6 = pd.Series(arr1)
s5 = s5.add(s6)
print(s5)
#s5.sub(s6)
#s5.mul(s6)
#s5.div(s6)
使用add方法会对相对应的项进行加法运算,未定义的项在进行加减乘除运算后会变为np.nan未定义。
两个serie进行加法运算的结果如下:
其余的基本运算与加法类似。
\space\space\space\space f. serie的统计学属性
使用describe方法可以输出serie的统计学属性
s5.describe()
结果如下:
参考:
pandas入门之serie
Youtube pandas tutorial