来源:python中国网 时间:2019-07-19

  Series位置下标、标签索引、切片索引、布尔型索

  下标索引

  1、列表可以用list[-1],下标索引不能,

  2、通过type或者Series的dtype属性查看下类型。

  标签索引

  1、Series有了index参数就有了标签索引

  2、注意index是字符串否则和下标索引混淆。

  3、选取多个标签需要嵌套2个[],且结果是新的Series

  切片索引

  1、用下标就是左闭右开(末端不包含)。

  2、用标签就是末端包含。

  布尔型索引

  用来筛选数据

  1、isnull函数

  2、notnull函数

  3、直接比较

  用代码来帮助理解:

# -*- coding: utf-8 -*-

import numpy as np
import pandas as pd


"""
s = pd.Series(data, index=index)
data可以是:
    a Python dict
    an ndarray
    a scalar value (like 5)
index指定索引
"""

# 下标索引
arr = np.random.rand(5)
s = pd.Series(arr)
print(s[0],s[0].dtype,type(s[0]))

print('------------------')

# 标签索引
d = {'b': 1, 'a': 0, 'c': 2}
s2 = pd.Series(d, index=['b', 'c', 'd', 'a'])
print(s2['b'])
print(s2[['b','c','a']]) # 同时打印多个标签
print('------------------')

# 切片索引
s = pd.Series(5., index=['a', 'b', 'c', 'd', 'e'])
print(s[0:2])
print(s['a':'c'])
print('------------------')

# 布尔型索
d = {'b': 1, 'a': 0, 'c': 2}
s = pd.Series(d, index=['a', 'b', 'c', 'd', 'e'])
print('判断大于1')
res = s > 1
print(res)
print('判断是否空')
print(s.isnull())
print('判断是否不是空')
print(s.notnull())
print('打印大于1的')
print(s[res])
print('打印不为空的')
print(s[s.notnull()])
D:\python3\install\python.exe D:/python/py3script/test.py
0.17779167363941184 float64 
------------------
1.0
b    1.0
c    2.0
a    0.0
dtype: float64
------------------
a    5.0
b    5.0
dtype: float64
a    5.0
b    5.0
c    5.0
dtype: float64
------------------
判断大于1
a    False
b    False
c     True
d    False
e    False
dtype: bool
判断是否空
a    False
b    False
c    False
d     True
e     True
dtype: bool
判断是否不是空
a     True
b     True
c     True
d    False
e    False
dtype: bool
打印大于1的
c    2.0
dtype: float64
打印不为空的
a    0.0
b    1.0
c    2.0
dtype: float64

Process finished with exit code 0