几经辗转,有恐慌,有烦恼,经历了这些这么久,自己最终明白其实在遇到这些事的时候,须自己静下心来学习才是王道
导入pandas:
import pandas as pd
from pandas import Series,DataFrame
- Series
创建一个Series对象:
import pandas as pd
from pandas import pandas,DataFrame
obj=pd.Series([1,5,7,9])
print(obj
结果:
在这个结果数据中,左边表示的是index,右边是value,因为Series是一个像数组一样的序列,并伴有一个label,叫做index。
可以使用: print(obj.values),print(obj.index)来查看这个Series的value,index
print(obj.values)
print(obj.index)
当然我们可以去指定我们的index,让它不一定是数值
obj1=pd.Series([1,5,7,9],index=['first','second','thirty','fourth'])
print(obj1)
所以我们可以通过index中的每个label来选择:
print(obj1['first'])
print(obj1[['first','second','fourth']])
记住这里是两个[][] 因为我们将['first','second','fourth'] 整个当做了一个索引index,进行查询
经过上面那些基础知识我们可以用另一种方式去看待Series结构,它是一个长度固定,有顺序的dict(字典),从Series结构的index映射到value,在很多场景可以当作dict来使用。
所以我们可以使用dict来创建Series:
sdata={'nu':1,'li':2,'fen':3,'dou':4}
obj2=pd.Series(sdata)
print(obj2)
看上面那张图,我们知道了我们用字典来创建了Series这个结构,Series的inex顺序就是sdata这个字典的keys顺序,所以我们也可以传入一个自己想要的顺序,例:
sindex=['bu','li','dou','fen']
obj3=pd.Series(sdata,sindex)
print(obj3)
在这里我们可以看到index的顺序是根据sindex中的来的,但是它根据这个顺序在sdata没有找到对应的Index ,它就会将这个表示为NaN。
NaN表示的是数据缺失。在pandas中isnull和notnull函数可以用来检查数据缺失.
print(pd.isnull(obj3))
print(pd.notnull(obj3))
Series结构可以直接obj3.isnull()
Series可以直接修改index,例:
obj:
obj.index=['jia','you','shao','nian']
print(obj)
好了,今天的关于pandas的Series结构学习结束了,希望自己每天都能坚持写一点。加油