Series由两部分组成values(一组数据)和index(相关的数据索引标签)。
import numpy as np
import pandas as pd
list1 = [11,22,33,44,55,66]
s = pd.Series(list1)
print(s)
#唯一不同是dtype不同
n = np.array(list1)
s = pd.Series(n)
print(s)
print(s.values)
print(s.index)
#修改索引
s.index = ['A','B','C','D','E','F']
s.index = list('BCDEFG')
#由字典创建
k = {
'a':11,
'b':22,
'c':33,
'd':44,
'e':55,
'f':66
}
s = pd.Series(k)
print(s)
output: a 11 b 22 c 33 d 44 e 55 f 66 dtype: int64
使用中括号取单个索引(返回的是元素类型),或者中括号里一个列表取多个索引(此时返回的仍然是一个Series类型)。
使用index中的元素作为索引值
使用.loc[]
import numpy as np
import pandas as pd
s = pd.Series({'python': 150,'NumPy':100,'Pandas':130})
print(s)
#第一种方法
a = s.NumPy
print(a)
b = s['python']
print(b)
c = s[['python','NumPy']]
print(c)
d = s[['python']]
print(d)
#第二种方法使用loc[]
e = s.loc['python']
f = s.loc[['python','NumPy']]
g = s[['python']]
print(e,f,g)
使用整数作为索引值
使用.iloc[]
#隐式索引
#第一种方法
h = s[0]
print(h)
i = s[[0,2]]
print(i)
j = s[[0]]
print(j)
#第二种方法
k = s.iloc[0]
print(k)
l =s.iloc[[0,2]]
print(l)
m = s.iloc[[0]]
print(m)
import numpy as np
import pandas as pd
s = pd.Series({
'语文':100,
'数学':100,
'英语':100,
'地理':100,
'物理':100
})
#显式切片:左闭右闭
a = s['数学':'地理']
print(a)
b = s.loc['数学':'地理']
print(b)
#隐式切片:左闭右开
c = s[1:3]
print(c)
d = s.iloc[1:4]
print(d)
import numpy as np
import pandas as pd
s = pd.Series({
'语文':100,
'数学':100,
'英语':100,
'地理':100,
'物理':100
})
a = s.shape
print(a)
b = s.size
print(b)
c = s.index
print(c)
d = s.values
print(d)
查看前几条数据,默认5条
e = s.head(2)
print(e)
查看后几条数据,默认5条
f = s.tail(2)
print(f)
1、pd.isnull()
2、pd.notnull()
3、isnull()
4、notnull()
#判断是否为空
# print(s1.isnull())
# print(pd.isnull(s1))
#
# #判断是否不为空
# print(s1.notnull())
# print(pd.notnull(s1))
#利用bool值索引过滤掉空值
#True 的保留,False 的去掉
cond1 = s1.isnull()
s2 = s1[[True,False,True,True]]
print(s2)
s3 = s2[~cond1]
print(s3)
Series之间的运算
在运算中自动对齐索引
如果索引不对应,则补nan
Series没有广播机制
注意:要想保留所有的index,则需要使用.add()函数