一、学习资源
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:为缺失值进行数据填充