pandas—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元素.

猜你喜欢

转载自blog.csdn.net/qq_39161737/article/details/78866191