Series的基本属性和方法
查看Series的属性
miku.shape #形状 miku.size #元素个数 miku.index #索引 miku.values #值 miku.name #索引名字(如有)
查看Series的数据
miku.head(3) #展示前3条数据 miku.tail(3) #展示后3条数据 检测并过滤缺失数据
# 创建一个含有空值的Series miku = pd.Series(['张三','李四','王五',np.nan]) # NaN 为空值
判断是否为空值
# 判断是否为空值 miku.isnull() # 额外写法:pd.isnull(miku) # 判断是否不为空值 miku.notnull() # 额外写法:pd.notnull(miku)
使用bool索引过滤并输出数据
# 将空值的bool写入cond cond = miku.isnull() # 可以使用s[[True,Flase]]来设定是否显示某一个值 # 使用~时,True为False,False为True,取反 s[~cond] #也可以使用pd.notnull()来直接获取相反的bool值直接过滤,避免使用~。
Series的运算
NumPy的数组运算同样适用于Series
创建一个10-100随机数的一维Series
miku = pd.Series(np.random.randint(10,100,size=10))
常用的Series运算
# 对Series的全部数据进行运算 miku + 100 miku - 100 miku * 100 miku / 100 miku // 2 #整除 miku ** 2 #平方 miku % 2 #求余
Series之间的运算
Series运算会自动对其索引(如不对其则补NaN)
Series没有广播机制
# 创建两个随机Series miku1 = pd.Series(np.random.randint(10,100,size=3)) miku2 = pd.Series(np.random.randint(10,100,size=3)) miku1 + miku2 # 返回结果 0 105 1 188 2 96 dtype: int32 # 创建两个随机Series miku3 = pd.Series(np.random.randint(10,100,size=3)) miku4 = pd.Series(np.random.randint(10,100,size=4)) miku3 + miku4 # 返回结果 0 129.0 1 121.0 2 81.0 3 NaN dtype: float64 #当对应索引缺失时返回NaN #一切运算以索引为基础,索引1+索引1,索引2+索引2,调换索引顺序不会影响计算结果 # 运算时可以使用.add()来设置空的默认值 miku3.add(miku4,fill_value=0) # 此时miku3的空值将为0,执行运算时空值将不为NaN