欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

pandas入门教程之Series操作

程序员文章站 2022-05-06 22:58:59
选取操作 Series对象支持查询方式: 位置下标 标签索引 切片索引 布尔型索引 from pandas import Series...

选取操作

Series对象支持查询方式:
    位置下标
    标签索引
    切片索引
    布尔型索引
from pandas import Series
import pandas as pd

series1 = Series([10, 20, 30, 40], index=list('abcd'))

# 通过位置查询
series1[2]
# 通过标签索引查询
series1['b']
# 查询多个元素
series1[[0, 2, 3]]
series1[['a', 'c', 'd']]
# 切片
series1[1:3]
series1['b':'d']
# 布尔索引
series1[series1 > 20]

删除操作

我们队对Series中的元素执行删除,主要用到.drop函数和.pop函数                          drop 删除元素之后返回副本 
pop 删除源数据
from pandas import Series
import pandas as pd

series1 = Series([10, 20, 30, 40], index=list('abcd'))

# 删除元素返回副本
series1.drop('c')
series1.drop(['a', 'd'])

# 删除源数据中的元素
series1.pop('d')

插入操作

from pandas import Series
import pandas as pd
import numpy as np

series1 = Series([10, 20, 30, 40], index=list('abcd'))
series2 = Series([100, 200], index=['g', 'h'])

# 新增一个标签索引值为f,值为100的元素
series1['f'] = 100
series1.append(series2)

Series运算

from pandas import Series
import pandas as pd
import numpy as np

series1 = Series([10, 20, 30, 40], index=list('abcd'))
series2 = Series([1, 2, 3, 4], index=list('abce'))

series1 * 2
# 两个series运算,会自动对齐运算
series1 * series2
# 使用Numpy函数
np.sum(series1)
# 不对齐运算,将series当做numpy运算
np.add(series1, series2)
np.greater(series1, series2)

在上面列子中,两个Series对象相乘出现一个结果NaN(Not a Number, 非数值),数据结构中如果字段为空, 或者不符合数字的定义时,用这个特定的值表示. 一般来讲,NaN表示数据有问题,必须对其进行处理,尤其在进行数据分析时。从某些数据源抽取数据时遇到了问题,甚至是数据源缺失数据,往往会产生此类数据。 尽管NaN值是数据有问题才产生的,然而在pandas中是可以定义这种类型的数据。例如: Series([1, 2, np.nan, 3, 4]) isnull()和notnull()用来识别NaN元素.