Pandas常用数据结构

  • Pandas简介
  • Series
    • 构建 Series 对象
      • 通过数组/列表
      • 通过ndarray
      • 通过dict
    • 指定index
    • Series 数据结构
    • 查看 Series 数据
      • 数据预览
    • 查看数据
      • index索引
      • values值
      • name 属性
      • 通过索引名(str)获取数据
      • 通过索引位置(int)获取数据
    • 缺失数据处理
      • 字符串缺失
      • 数值缺失
  • DataFrame
    • 构建 DataFrame 对象
      • 通过ndarray
      • 通过dict
    • DataFrame 数据结构
    • 查看 DataFrame 数据
      • 获取行、列、值
      • 数据预览
      • 通过索引名获取数据
    • 增加列数据
    • 删除列
  • Index
    • 查看Index
    • 更改Index值
    • 重制Index

Pandas简介

一个强大的分析结构数据的工具集,基础是Numpy

import pandas as pd

Series

一维数组对象

构建 Series 对象

通过数组/列表

pd.Series(range(10,25))

通过ndarray

pd.Series(np.random.rand(3))

通过dict

pd.Series({'name': '谢晨', 'username_cn': '程序猿过家家', 'username_en': 'ProgrammerPlus', 'age': 23})

指定index

pd.Series(np.random.rand(3), index=['a', 'b', 'c'])

Series 数据结构

pd.Series(np.random.rand(5), index=['a', 'b', 'c', 'd', 'e'], name='rand_num')

Series类似于一维数组,由name、index和value组成。

查看 Series 数据

数据预览

ser_obj = pd.Series(np.random.rand(100))

当 ser_obj 数据量过大的时候,不希望全部展示出来,只需要展示部分数据

ser_obj.head(8)  # 默认展示前五行数据

ser_obj.tail(8)  # 默认展示后五行

查看数据

index索引

ser_obj.index

values值

ser_obj.values

name 属性

ser_obj = pd.Series(np.random.rand(100), name = 'rand_num')
ser_obj.head()

通过索引名(str)获取数据

ser_obj = pd.Series(np.random.rand(5), index=['a', 'b', 'c', 'd', 'e'])


通过索引名获取字符串

ser_obj.loc['b']

loc可以省略不写,一样实现的效果是一样的,建议能够写上,避免与通过索引位置取数据混淆。

ser_obj['b']


判断数据是否存在:

'd' in ser_obj

'programmerplus' in ser_obj

通过索引位置(int)获取数据

ser_obj.iloc[3]

iloc可以省略不写,一样实现的效果是一样的,建议能够写上,避免与通过索引名取数据混淆。

ser_obj[3]

缺失数据处理

字符串缺失

pd.Series(['谢晨', 'ProgrammerPlus', None, '程序猿过家家'])


字符串的缺失会展示为None

数值缺失

pd.Series([1,2,4,8,None, 32, 64, None, 256])

DataFrame

类似 多维数组 / 表格数据 如excel表格
每列数据可以是不同的数据类型
索引包括行索引(index)和列索引(label/column)

构建 DataFrame 对象

通过ndarray

pd.DataFrame(np.random.randn(5,4))

通过dict

df_obj = pd.DataFrame({'floa_': 1.,'time': pd.Timestamp('19981025'),'rang_': pd.Series(1, index=list(range(4)), dtype='float32'),'arra_': np.array([3] * 4, dtype='int32'),'pg_language': ['Python','Java', 'C', 'c++'],'name': 'xiechen',
})

如果数据量级少的时候,会自动补全。

DataFrame 数据结构

查看 DataFrame 数据

获取行、列、值

df_obj.columns

df_obj.index

df_obj.values

数据预览

获取前几行数据

df_obj.head(3)  # 默认前5行

获取最后几行

df_obj.tail(3)

通过索引名获取数据

df_obj['pg_language']
df_obj.pg_language

第二种写法也可以实现,不推荐使用,如果index中存在一些特殊字符,就无法使第二种方式

增加列数据

df_obj['test'] = range(4)
df_obj

删除列

df_obj.drop(columns=['rang_', 'test'])


⚠️ 此操作不会修改原数据,df_obj还是原来的值,需要用一个变量来接受操作后的结果,如果想要对原数据可以使用del。

del df_obj['test']

Index

ser_obj = pd.Series(range(10,20,2))

查看Index

ser_obj.index

ser_obj.index[2]

更改Index值

ser_obj.index[2] = 100


index不可更改

重制Index

ser_obj.reset_index()


使用 reset_index 会将原有的index作为数据当中的一列,然后重新配置一个index。
不需要替换下来的index列可以增加参数 drop=True

ser_obj.reset_index(drop=True)

总结:
Index 不可变,不可以修改 index 里的值,保证数据安全,如果需要对 index 进行修改,可以使用 reset_index 对整列进行修改。
常见的 Index 种类:Index、Int64Index、MultiIndex(‘层级’索引)、DatatimeIndex(时间戳类型)

Python Pandas 常用的数据结构有哪些?详解Series、DataFrame、Index数据结构。相关推荐

  1. python移动平均线绘图_对python pandas 画移动平均线的方法详解

    数据文件 66001_.txt 内容格式: date,jz0,jz1,jz2,jz3,jz4,jz5 2012-12-28,0.9326,0.8835,1.0289,1.0027,1.1067,1.0 ...

  2. Python正则表达式常用flag含义与用法详解

    封面图片:<Python程序设计实验指导书>(ISBN:9787302525790),董付国,清华大学出版社 图书详情(京东): ================== Python正则表达 ...

  3. python版 常用排序算法 思路加详解 冒泡排序、快速排序、插入排序、选择排序

    注:这里所有排序操作都以从小到大排列为例,想要从大到小排的自行修改代码即可 目录 一.冒泡排序 思路: 步骤: 解析: 二.快速排序 思路: 步骤: 代码: 三.插入排序 思路: 代码: 四.选择排序 ...

  4. python中common在哪个模块导入_python的常用模块之collections模块详解

    认识模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的 ...

  5. 数据结构--图(Graph)详解(一)

    数据结构–图(Graph)详解(一) 文章目录 数据结构--图(Graph)详解(一) 一.图的基本概念 1.图的分类 2.弧头和弧尾 3.入度和出度 4.(V1,V2) 和 < V1,V2 & ...

  6. 数据结构--图(Graph)详解(四)

    数据结构–图(Graph)详解(四) 文章目录 数据结构--图(Graph)详解(四) 一.图中几个NB的算法 1.普里姆算法(Prim算法)求最小生成树 2.克鲁斯卡尔算法(Kruskal算法)求最 ...

  7. 数据结构--图(Graph)详解(三)

    数据结构–图(Graph)详解(三) 文章目录 数据结构--图(Graph)详解(三) 一.深度优先生成树和广度优先生成树 1.铺垫 2.非连通图的生成森林 3.深度优先生成森林 4.广度优先生成森林 ...

  8. 数据结构--图(Graph)详解(二)

    数据结构–图(Graph)详解(二) 文章目录 数据结构--图(Graph)详解(二) 一.图的存储结构 1.图的顺序存储法 2.图的邻接表存储法 3.图的十字链表存储法 4.图的邻接多重表存储法 二 ...

  9. blankcount函数python,Python pandas常用函数详解

    本文研究的主要是pandas常用函数,具体介绍如下. 1 import语句 2 文件读取 df = pd.read_csv(path='file.csv') 参数:header=None 用默认列名, ...

  10. python常用内置模块-Python常用内置模块之xml模块(详解)

    xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.从结构上,很像HTML超文本标记语言.但他们被设计的目的是不同的,超文本标记语言被设计用来显示 ...

最新文章

  1. UA MATH523A 实分析1 集合论基础7 一些度量空间基本概念
  2. Excel添加读音(中英均可)
  3. 在python中操作excel
  4. 【JAVA SE】第七章 继承和多态
  5. 爱心宠物诊所管理系统
  6. 360 RePlugin 初探
  7. 类818tu.c微信小说分销系统设计之定时模板消息源码
  8. 精选 Hive 高频面试题11道,附答案详细解析(好文收藏)
  9. 华为2022校招新版官网状态码查询方法
  10. 【老生谈算法】matlabBOOST电路的设计与仿真——BOOST电路
  11. Keil代码折来叠功能显示与隐藏!!!
  12. Photoshop抠图教程(超详细)
  13. jsp:include和%@include file=%有什么区别
  14. Linux安装Tomcat(非Docker安装、开放端口)
  15. 【RL-TCPnet网络教程】第4章 RL-TCPnet网络协议栈简介
  16. echarts 自定义y轴高度
  17. 统信UOS安装 执行 curl命令
  18. 深入理解线性规划中的基可行解
  19. MOOC清华《程序设计基础》第1章第5题:银行存款问题
  20. Java项目开发-健身房管理系统

热门文章

  1. EasyConnect for Mac 安装和使用教程
  2. 使用BeautifulSoup的Python Web爬网教程
  3. 1987-1993年考研数学二真题及其详解
  4. KEPServerEX软件安装
  5. Windows系统隐私优化WPD
  6. 网络安全书籍推荐列表
  7. 磁盘分区 (MBR, GPT)、启动流程 (BIOS, UEFI)
  8. 毕业设计 单片机自动追踪灭火系统 - arduino stm32 物联网 嵌入式
  9. 安装和强行卸载fuse
  10. 文件传输协议FTP解析