• 周日. 7月 3rd, 2022

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

Series

admin

11月 28, 2021

一、学习资源

Python数据分析+数据可视化+数据分析实战全套课程_哔哩哔哩_bilibili

二、学习案例

1、series介绍和简单,主要处理一维数组

import pandas as pd
#继承数组特性的使用
sr=pd.Series([1,2,3,4],index=['a','b','c','d'])
print(sr)

#两个series运算
print(sr+sr)

#索引
print(sr[0])
print(sr[[1,2]])

#切片
print(sr[0:2])

#可以和标量进行运算,
print(sr1[sr1>2])
print(sr1[0])
#切片
print(sr1[0:2])

#继承字典特性的使用
sr2=pd.Series({'a':1,'b':2})
print(sr['a'])
#判断数值书否在字典中
b='a' in sr2
print(b)
c='d' in sr2
print(c)
#便利的时候注重数值而不是索引
for i in sr2:
    print(i)

#获取字典中的索引
sr=sr2.index
print(sr2.index[0])
print(sr)
#获取字典中的数值
sr1=sr2.values
print(sr1)
print(sr2.values[0])
#切片
print(sr2['a':'b'])

sr3=pd.Series([1,2,3,4,5,6],index=['a','b','c','d','e','f'])
print(sr3)
print("数值数组:前包后不包")
print(sr3[0:3])
print("赋值的索引:前后都包")
print(sr3['a':'d'])

2、series整数索引问题

#整数索引问题
print("-------------整数索引问题---------------")
sr4=pd.Series(np.arange(20))
print(sr4)
#讲src的前10个数值赋值给sr5
sr5=sr4[10:].copy()
print(sr5)
#loc用索引数值进行获取数值
print("----------------loc索引-----------------")
print("loc用索引获取索引为11的数值:")
print(sr5.loc[11])
print(sr5.loc[11:16])
#iloc用index下标获取数值
print("----------------iloc下标----------------")
print("iloc用index下标获取第9个数值:")
print((sr5.iloc[9]))
print(sr5.iloc[3:6])

#数据对齐
sr1=pd.Series([1,2],index=['a','b'])
sr2=pd.Series([3,4],index=['b','a'])
print(sr1+sr2)

#数组相加,出现缺失值
sr1=pd.Series([1,2],index=['a','b'])
sr2=pd.Series([3,4],index=['c','a'])
print(sr1+sr2)
#解决方法,使用series自带的函数进行相加
sr3=sr1.add(sr2,fill_value=0)
print(sr3)

#缺失数据的处理
#方法一:判断是否是缺失数据,然后将缺失数据删除
print(sr4)
print("缺失值输出为True:")
print(sr4.isnull()) #缺失值输出True
print("缺失值输出为False:")
print(sr4.notnull()) #缺失值输出False
print("将缺失值的部分进行删除:")
print(sr4[sr4.notnull()])#输出没有缺失值的部分
print("使用dropna函数直接删除缺失值部分:")
print(sr4.dropna())

#方法二:将缺失值填充为0
print("将缺失值填充为0:")
print(sr4.fillna(0))
print("将缺失值部分填充为平均数:")
print(sr4.fillna(sr4.mean()))

 三、总结

1、数组+字典

2、整数索引    loc:标签显示    iloc:下标显示

3、数据对齐     根据标签进行对其,做运算会出现缺失值nan

3、缺失值数据处理       dropna:直接删除缺失值部分     fillna:为缺失值进行数据填充

发表评论

您的电子邮箱地址不会被公开。