pandas入门教程之Series操作
程序员文章站
2022-09-28 14:08:19
选取操作
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运算
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元素.
在上面列子中,两个Series对象相乘出现一个结果NaN(Not a Number, 非数值),数据结构中如果字段为空, 或者不符合数字的定义时,用这个特定的值表示. 一般来讲,NaN表示数据有问题,必须对其进行处理,尤其在进行数据分析时。从某些数据源抽取数据时遇到了问题,甚至是数据源缺失数据,往往会产生此类数据。 尽管NaN值是数据有问题才产生的,然而在pandas中是可以定义这种类型的数据。例如: Series([1, 2, np.nan, 3, 4]) isnull()和notnull()用来识别NaN元素.