pandas两个主要数据结构之一——Series

  • 类似于一维数组,由一组数据和与其相关的一组索引组成
obj = Series([4, 7, -5, 3], index=['d', 'b', 'a', 'c'])
print(obj)
'''
d 4
b 7
a -5
c 3
dtype: int64
'''
  • 可通过索引,选取单个或多个值
tmp = ['a', 'b']
print(obj[tmp])
"""
a -5
b 7
dtype: int64
"""
  • 也可根据布尔型数组进行运算
print(obj[obj > 0])
print(obj*2)
"""
d 4
b 7
c 3
dtype: int64
d 8
b 14
a -10
c 6
dtype: int64
"""
  • 还可以看作是定长的有序字典
data = {'a': 1, 'b': 2, 'c': 3, 'd': -1}
obj2 = Series(data) # 通过字典直接生成Series
print(obj2)
"""
a 1
b 2
c 3
d -1
dtype: int64
""" t = 'a' in obj2 # 判断‘a’是否为obj2索引
print(t)
"""
True
"""
  • 生成Series时,无对应值自动填充为 NaN,且Series对数据会根据索引自动对齐
# 如果 obj2 = Series(data, index = ...) 中,index对应无对应值,则其填充为NaN
index = ['a', 'e', 'b', 'c', 'd'] # 多了一个‘e’,并且位置不同(在生成时会自动对齐)
obj3 = Series(data, index=index)
print(obj3)
"""
a 1.0
e NaN
b 2.0
c 3.0
d -1.0
dtype: float64
""" # 数据是否缺失可用isnull检测
print(obj3.isnull())
"""
a False
e True
b False
c False
d False
dtype: bool
"""
  • Series可进行运算,不过与NaN运算结果始终为NaN
obj4 = Series({'a': 1, 'b': 2, 'd': -1, 'e': 5})
print(obj4)
print(obj3+obj4)
"""
a 1
b 2
d -1
e 5
dtype: int64 # obj4 中无‘c’索引,其默认为NaN
# 运算完后会自动排序
a 2.0
b 4.0
c NaN
d -2.0
e NaN
dtype: float64
"""
  • Series本身及其索引均有一个name属性
obj4.name = 'obj4'
obj4.index.name = 'index'
print(obj4)
"""
index
a 1
b 2
d -1
e 5
Name: obj4, dtype: int64
"""
  • Series索引可通过赋值方式就地修改
obj4.index = [1, 2, 3, 4] # 索引个数要相同,且更改后索引名会清空
print(obj4)
"""
1 1
2 2
3 -1
4 5
Name: obj4, dtype: int64
"""

pandas的数据结构介绍(一)—— Series的更多相关文章

  1. pandas的数据结构之series

    Pandas的数据结构 1.Series Series是一种类似于一维数组的对象,由下面两个部分组成: index:相关的数据索引标签 values:一组数据(ndarray类型) series的创建 ...

  2. Pandas之数据结构

    pandas入门 由于最近公司要求做数据分析,pandas每天必用,只能先跳过numpy的学习,先学习大Pandas库 Pandas是基于Numpy构建的,让以Numpy为中心的应用变得更加简单 pa ...

  3. Python pandas 0.19.1 Intro to Data Structures 数据结构介绍 文档翻译

    官方文档链接http://pandas.pydata.org/pandas-docs/stable/dsintro.html 数据结构介绍 我们将以一个快速的.非全面的pandas的基础数据结构概述来 ...

  4. Python数据分析之pandas基本数据结构:Series、DataFrame

    1引言 本文总结Pandas中两种常用的数据类型: (1)Series是一种一维的带标签数组对象. (2)DataFrame,二维,Series容器 2 Series数组 2.1 Series数组构成 ...

  5. pandas中数据结构-Series

    pandas中数据结构-Series pandas简介 Pandas是一个开源的,BSD许可的Python库,为Python编程语言提供了高性能,易于使用的数据结构和数据分析工具.Python与Pan ...

  6. 读书笔记一、pandas数据结构介绍

    pandas数据结构介绍 主要两种数据结构:Series和DataFrame.   Series   Series是一种类似于一维数组的对象,由一组数据(各种NumPy数据类型)+数据标签(即索引)组 ...

  7. 02. Pandas 1|数据结构Series、Dataframe

    1."一维数组"Series Pandas数据结构Series:基本概念及创建 s.index  . s.values # Series 数据结构 # Series 是带有标签的一 ...

  8. Pandas 0 数据结构Series

    # -*- encoding:utf-8 -*- # Copyright (c) 2015 Shiye Inc. # All rights reserved. # # Author: ldq < ...

  9. Pandas 的数据结构

    Pandas的数据结构 导入pandas: 三剑客 from pandas import Series,DataFrame import pandas as pd import numpy as np ...

随机推荐

  1. Linux yum 报错:One of the configured repositories failed (Unknown), and yum doesn't have.

    1.  请先确定你是无法联网还是配置问题. ping www.baidu.com 如果是正常ping那可以看这个帖子完成配置 https://blog.csdn.net/weicuidi/articl ...

  2. Redis数据结构—跳跃表

    目录 Redis数据结构-跳跃表 跳跃表产生的背景 跳跃表的结构 利用跳跃表查询有序链表 Redis跳跃表图示 Redis跳跃表数据结构 小结 Redis数据结构-跳跃表 大家好,我是白泽,最近学校有 ...

  3. 前端必读:Vue响应式系统大PK

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文参考:https://www.sitepoint.com/vue-3-reactivity-system ...

  4. 获取Eureka服务列表的各种场景

    一.第一类服务注册到eureka中,获取服务列表 1.基于SpringClientFactory获取服务列表 /** * <一句话功能简述> * <功能详细描述> * * @a ...

  5. [bug] redis-cli连接时出现Could not connect to Redis at 127.0.0.1:6379: Connection refused

    参考 https://www.geek-share.com/detail/2684728161.html

  6. head元素的内容

    一.head元素 head元素的内容用来向浏览器提供一些文档信息,此外还可以包含js脚本和css层叠样式单.head中一般包含title.meta.css.js等内容,head中元素的内容在浏览器中不 ...

  7. 7.12-7.19 id、w、who、last、lastb、lastlog

    7.12-7.19 id.w.who.last.lastb.lastlog 目录 7.12 id:显示用户与用户组的信息 7.13 w:显示已登录用户信息 7.14 who:显示已登录用户信息 显示最 ...

  8. yum 命令详解-yum仓库配置文件详解

    yum安装的优点 1.必须得有网络,通过网络获取软件. 2.管理rpm包 3.自动解决依耐 4.命令简单好用 5.生产最佳实践 yum命令详解 # linux安装软件的三种方式 1.rpm安装 2.源 ...

  9. VIM 三种模式和常用命令

    引言 大数据开发工作中,周围的同事不是用 VIM 就是 Emacs,你要是用 UltraEdit 或 notepad++ 都不好意思跟人家打招呼...什么插件呀.语法高亮呀.拼写检查呀,能给它开的都给 ...

  10. JavaEE 三层架构模式

    什么是架构模式 要理解三层架构模式,我们得先搞清楚什么是架构模式.(这里说的架构模式是针对后端开发) 所谓架构就是系统最高级别的设计,一个系统特别复杂时才需要架构设计,如果只是开发一个很小程序,就谈不 ...