Series的values属性可以获取值,Series的索引也可以获取值且更加灵活。Series是dict-like类型,也是list-like类型,可以模仿字典和列表获取数据,比如可以用get方法获取数据。我们习惯用索引获取数据,Series索引可以分为位置下标、标签索引、切片索引、布尔型索引。,。

下标索引

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

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

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

import pandas as pd

import numpy as np

# 下标索引

arr = np.random.rand(5)

s = pd.Series(arr)

print(s)

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

print(s[0])

print(s[0].dtype)

print(type(s[0]))

0 0.400264

1 0.359603

2 0.608861

3 0.361018

4 0.652181

dtype: float64

------------

0.40026367833874676

float64

标签索引

1、Series的index参数就代表标签索引,标签索引和下标索引同时存在。

2、index最好用字符串否则视觉上不易分辨是下标索引还是标签。

3、选取多个标签需要传入列表,且结果是新的Series

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

import pandas as pd

import numpy as np

dic = {'语文':100,'数学':90,'英语':95}

s = pd.Series(dic,name='成绩')

print(s)

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

print(s['语文']) # 语文成绩

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

print(s[['语文','数学']]) # 传入列表,多个标签

语文 100

数学 90

英语 95

Name: 成绩, dtype: int64

------------

100

---------------

语文 100

数学 90

Name: 成绩, dtype: int64

切片索引

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

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

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

import pandas as pd

import numpy as np

# 切片索引

s = pd.Series([1,2,3,4,5], index=['a', 'b', 'c', 'd', 'e'])

print(s)

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

print(s[0:2])

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

print(s['a':'c'])

a 1

b 2

c 3

d 4

e 5

dtype: int64

-------

a 1

b 2

dtype: int64

--------

a 1

b 2

c 3

dtype: int64

布尔型索引(用来筛选数据)

布尔索引就是可以直接传入True、False这种值来选择数据,类型可以是可以是列表(元素是Ture和False)、Series、np数组,只要他们的值是布尔值。多个条件中&代表且,|代表或,~代表取反,多个条件与或非运算需要为每个条件加括号。

Ture和False的个数要和Series元素数相同,Ture代表打印,False代表不打印。实际中通常先把数据进行比较判断后(大于等于小于或者其他)获取布尔值,然后进行传入。具体看下面的例子。

1、直接比较,返回元素为布尔值的Series

2、isnull函数,返回元素为布尔值的Series

3、notnull函数,返回元素为布尔值的Series

先看直接比较:

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

import pandas as pd

d = {'a': 2, 'b': 1, 'c': 0}

s = pd.Series(d)

print(s>0) # 判断s是否大于0

print(s[s>0]) # 选择s大于0色

print('====================')

d2 = {'a': True, 'b': True, 'c': False}

s2 = pd.Series(d2) # 也可以直接传入布尔值的Series

print(s[s2])

a True

b True

c False

dtype: bool

a 2

b 1

dtype: int64

====================

a 2

b 1

dtype: int64

再看看isnull函数

import pandas as pd

d = {'a': 2, 'b': 1}

s = pd.Series(d,index=['a','b','c'])

print(s.isnull()) # 判断s元素是否缺失

print(s[s.isnull()]) # 打印缺失值

a False

b False

c True

dtype: bool

c NaN

dtype: float64

再看看notnull函数

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

import pandas as pd

d = {'a': 2, 'b': 1}

s = pd.Series(d,index=['a','b','c'])

print(s.notnull()) # 判断s元素是否不缺失

print(s[s.notnull()]) # 打印非缺失值

a True

b True

c False

dtype: bool

a 2.0

b 1.0

dtype: float64

python中索引和下标_Series下标索引、标签索引、切片索引、布尔索引相关推荐

  1. 在Python中给定包含该项目的列表的情况下查找项目的索引

    对于列表["foo", "bar", "baz"]和列表"bar" ,如何在Python中获取其索引(1)? #1楼 a ...

  2. pandas中series一维数组的创建、索引的更改+索引切片和布尔索引+dataframe二维数组的创建、基本属性、索引方法(传统方法和lociloc)、nan操作、排序+案例

    目录 一.为什么要学习pandas? 二.pandas的常用数据类型 1.series--一维的且带标签的数组 (1)创建一维数组 (2)通过列表形式创建的series带标签数组可以改变索引,传入索引 ...

  3. 【Python零基础入门篇 · 7】:Python中的注释、字符串的常见操作、对象的布尔值

    文章目录 Python中的注释 单行注释 多行注释 中文编码声明注释 字符串的常见操作(1) 编码解码的操作 增删改查以及分割 查找:find().index 统计:count() 替换:replac ...

  4. Python中如何获得数组或者列表按大小排序后元素的索引列表

    使用 np.argsort 函数 import numpy as np a = np.array([10,40,30,50,25]) b = np.argsort(a)# 从小到大排序的元素的索引 p ...

  5. python中label怎么绑定变量_Kivy将标签文本绑定到变量(仅限Python)

    我一直试图让我的标签自动更新自己已经有一段时间了,我已经阅读了十几个StackOverflow问题,但没有效果. 我有一个全局对象,它包含一个整数值,我想用一个标签显示在我的一个小部件类中. widg ...

  6. Python 中使用 for、while 循环打印杨辉三角练习(列表索引练习)。

    Python中使用for while循环打印杨辉三角练习(列表索引练习). 杨辉三角是一个由数字排列成的三角形数表,一般形式如下: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 ...

  7. Python中常用的数据分析工具(模块)有哪些?

    本期Python培训分享:Python中常用的数据分析工具(模块)有哪些?Python本身的数据分析功能并不强,需要安装一些第三方的扩展库来增强它的能力.我们课程用到的库包括NumPy.Pandas. ...

  8. Python中的defaultdict方法

    字典(dictionary)是Python中一种常用的数据类型.不同于其他由数字索引的序列,字典是用"键"(key)来索引的.通常表示为dict(key: val, ...),有以 ...

  9. python中表达式4**0.5的值为_Python内置函数__用来返回序列中的最小元素

    [填空题]表达式 int(4**0.5) 的值为 [判断题]3+4j不是合法的Python表达式. [填空题]已知列表对象x = ['11', '2', '3'],则表达式 max(x) 的值为 [填 ...

最新文章

  1. Windows的端口列表(转载)
  2. Linux常用命令及技巧2
  3. SAP MM里的ERS功能不适用于供应商寄售采购模式
  4. script标签的defer属性
  5. 网内病毒问题快速排除集锦
  6. 驱动、数据库-Java HIVE 使用Jdbc连接Hive-by小雨
  7. Cris 的 Scala 笔记整理(八):面向对象中级-封装
  8. 【Flask】下载多个文件
  9. JVM - 对象访问
  10. 关于linux无法联网以及xshell无法连接linux的解决
  11. csdn 积分/c币获取方法
  12. BeanUtils工具
  13. 张尧学等人获奖,理由不充分
  14. 塑胶卡扣弹性计算公式_塑胶产品结构设计卡扣
  15. calcite连接mysql_calcite简单入门
  16. 逼自己一把,你就优秀了
  17. Android Studio download fastutil-7.2.0.jar下载依赖包超时问题
  18. 中国求职者2亿私人简历泄露,APT情报资讯报告2018全球十大安全事件(10401字) (附PDF公号发“简历十大安全”下载)
  19. 使用本地CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box创建三个k8s集群虚拟机
  20. UVa 11437 (梅涅劳斯定理) Triangle Fun

热门文章

  1. set identity_insert on 不起作用
  2. moto txt阅读器java版,moto txt阅读器手机版下载
  3. Jquery精准计算
  4. 【总结】 Lucas定理
  5. mysql 以及mysql可视化工具下载安装地址
  6. C++友元函数、友元类与类模板
  7. Python+Pandas读取Excel文件分析关系最好的两个演员
  8. 微课|中学生可以这样学Python(5.1.3节):列表常用方法
  9. 如何查看外网ip地址_如何查看本机ip地址?
  10. JS在HTML中放的位置