pandas 数据结构

2023-11-16

Series常用操作【知道】

  • Series创建:传入一个Python列表
    • 如果传入的数据类型是统一的数字,那么最终的dtype类型是int64
    • 如果传入的数据类型是统一的字符串,那么最终的dtype类型是object
    • 如果传入的数据类型是多种类型,那么最终的dtype类型也是object
# data=,传入要python列表;index=指定行索引,不传的话行索引默认为0,1,2...
pd.Series(data=,index=)

# 例子1
s = pd.Series(['banana', 42])
# 输出结果如下
0    banana
1        42
dtype: object

#例子2
s = pd.Series(['Wes McKinney','Male'],index = ['Name','Gender'])
# 输出结果如下
Name      Wes McKinney
Gender            Male
dtype: object
  • Series常用属性
s.index # 获取行索引,属性
s.keys() # 获取行索引,方法
# 属性后面不加(),方法后面加()

s.values # 获取值
  • Series常用方法
s.mean() # 平均值
s.max() # 最大值
s.min() # 最小值
s.std() # 标准差
s.value_counts() # 不同值(不同类别)的条目数量
s.count() # 非空值个数

s.describe() 
# 输出数值列统计描述:①count非空值个数,②mean平均值,③std标准差,④max最小值,⑤25%四分之一分位值,⑥50%二分之一分位值,⑦75%四分之三分位值,⑧最大值
# 输出非数值列统计描述:①count非空值个数,②unique唯一值个数,③top出现次数最多的值,④freq出现最多值的次数
  • 通过布尔值列表获取Series部分数据
s[[True,False,True,False]]
# 返回为True的值,最后返回两个值
  • Series运算
    • series和数值型变量计算
      • 变量和series中的每个元素逐一进行计算
    • 两个Series之间计算
      • 根据索引匹配规则进行计算,相同的索引进行计算,不同的索引无法计算,用NaN填充

DataFrame常用操作【重要】

  • 常用属性和方法
df.shape # 查看行数,列数
df.size # 查看数据个数
len(df) # 查看数据行数
df.count() # 查看各列非空值个数
df.max() # 查看各列最大值,数值列返回最大值,非数值列返回出现次数最多的值
df.min()
df.describe() # 返回数值列统计描述
  • DataFrame的布尔索引
    • 同Series一样,DataFrame也可以使用布尔索引获取数据子集
# 获取前5行数据中的第1、2、4个
movie.head()[[True,True,False,True,False]]
  • dataframe的运算
    • 当DataFrame和数值进行运算时,DataFrame中的每一个元素会分别和数值进行运算
    • 两个DataFrame之间进行计算,和series一样会根据索引的值进行对应计算
    • 当两个DataFrame索引值不能对应时,不匹配的会返回NaN
    • DataFrame中如果有非数值列,只能进行相加或者相乘的操作,对非数值列进行复制,其他计算会发生报错
  • 指定某列为DataFrame索引
df.set_index('列名') # 括号里列为指定索引列
pd.read_csv('path',index_col='列名') # 加载数据时通过index_col指定某列为df的索引

df.reset_index() # 重置索引,变为0,1,2,3...
  • 修改行名列名
# 方法一
df.rename(index={'原行名1':'新行名1','原行名2':'新行名2'...},columns={'原列名1':'新列名1','原列名2':'新列名2'...},inplace=True)
# index=,columns= 后跟要修改的行列名字典
# inplace=True 在源数据上修改,默认False,在内存或者副本上修改,源数据并没有修改
# 涉及到df修改删除操作,不指定inplace=True,默认源数据不会进行修改,或者将修改的数据重新保存为一个变量名

# 方法二
将df.index 和 df.columns属性提取出来,修改之后,再赋值回去
  • 添加删除插入

    • 通过dataframe['列名']添加新列,添加至最后

      df['新列名'] = 常数
      df['新列名'] = df['列名1'] + df['列名2'] # 数值列加减乘除都可以,一行一行计算
      
    • 删除列

      df.drop('列名',axis='columns',inplace=True) # inplace=True源数据上删除,axis='columns',默认按行删除,axis='index'
      
    • 插入列

      df.insert(loc=列下标数字, column='列名', value=该列所有的值)
      # loc= 插入列的位置,按列索引序号
      # column= 新插入列的名字
      # value= 新插入列的值,可以是常用,也可以是计算完的结果
      

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pandas 数据结构 的相关文章

随机推荐

  • win10+ubuntu20.04 双系统卸载ubuntu20.04

    清除Ubuntu系统分区 使用磁盘管理器比较省事 也可使用diskgenius 打开磁盘管理器后可以看到Ubuntu分区 如图所示 右键删除卷即可 删除开启引导启动项 删除了Ubuntu系统所有分区后 Windows的EFI分区里仍然会有U
  • Linux下C编译系统

    Linux下C编译系统 编译过程概述 了解一些编译知识的读者都知道 所谓编译 就是在编译程序读取源程序 字符流 对之进行词法和语法的分析 将高级语言指令转换为功能等效的汇编代码 再由汇编程序转换为机器语言 并且按照操作系统对可执行文件感谢格
  • 蓝桥杯第十四届省赛完整题解 C/C++ B组

    没有测评 不知道对不对 仅仅过样例而已 试题 A 日期统计 本题总分 5 分 问题描述 小蓝现在有一个长度为 100 的数组 数组中的每个元素的值都在 0 到 9 的 范围之内 数组中的元素从左至右如下所示 5 6 8 6 9 1 6 1
  • 虚拟服务器lan网段地址,lan侧服务器ip地址

    lan侧服务器ip地址 内容精选 换一换 云平台支持修改主网卡的私有IP地址 具体操作请参见本节内容 如需修改扩展网卡的私有IP地址 请删除网卡 并挂载新网卡 云服务器已关机 如果网卡绑定了虚拟IP或者DNAT规则 需要先解绑 如果网卡上有
  • 双向交错CCM图腾柱无桥单相PFC学习仿真与实现(2)SOGI_PLL学习仿真总结

    目录 前言 SOGI基本原理 锁相环基本原理 仿真实现及说明 总结 前言 前面总结了双向交错CCM图腾柱无桥单相PFC系统实现 后面把问题细分 关于SOGI锁相环的应用和学习在这里总结下 双向交错CCM图腾柱无桥单相PFC学习仿真与实现 1
  • 大数据流处理(Spark Streaming + Kafka)面试常考考点

    1 ack Kafka Producer的参数 是把数据写到Kafka broker里面去时需要的参数 常见的值有1 0 all 1 0 leader不做等待 只管发不管结果 延时性最低 持久性最差 1 默认 只要leader写数据到本地即
  • Windows 安装 Nginx

    Nginx下载nginx documentation Nginx 是一个高性能的网页服务器 能够反向代理HTTP HTTPS SMTP POP3 IMAP的协议链接 也可以作为一个负载均衡器和 HTTP 缓存 是一个免费 开源 高性能的 H
  • LeGO-LOAM建图

    1 安装LeGO LOAM LeGO LOAM需要依赖 ROS 环境 和 gtsam 遇到github下载慢的情况 可以从gitee导入仓库下载 1 1安装依赖项 wget wget O software gtsam zip https g
  • win10程序员计算器面板按钮介绍

    HEX 十六进制 DEC 十进制 OCT 八进制 BIN 二进制 注意这里的二进制为二进制补码形式 每输入一个数 进制转换会自动进行 QWORD 四字 64位 DWORD 双字 32位 WORD 字 16位 BYTE 字节 8位 Lsh 左
  • 递归实现逆序输出整数——C语言

    本题目要求读入1个正整数n 然后编写递归函数reverse int n 实现将该正整数逆序输出 输入格式 输入在一行中给出1个正整数n 输出格式 对每一组输入 在一行中输出n的逆序数 输入样例 12345 结尾无空行 输出样例 54321
  • BFC渲染机制

    BFC block formatting context 块级格式化上下文 实际就是一个隔离罩 W3C CSS2 1 规范中的一个概念 它是页面中的一块渲染区域 并且有一套渲染规则 它决定了其子元素将如何定位 以及和其他元素的关系和相互作用
  • 2013年9月24日星期二(demo5_1参数化2D直线)

    现在很想封装下3D的 将所谓的难度踏在脚下 好 现在准备了 代码到哪里 分析到哪里 首先 包含各种头文件 include common h include DDraw Interface h using namespace std HWND
  • iMazing传输 iPhone 备忘录和通话记录功能

    对于经常需要进行客户联系的业务员来说 通过整理通话记录 能够统计到拜访客户的次数 效果等数据 如果是通过手动统计的方式 将耗费大量的时间与精力 iMazing为苹果设备用户提供了功能齐全的通话管理功能 用户可以通过使用该功能 查询相关的通话
  • 使用Python搭建代理服务器- 爬虫代理服务器详细指南

    搭建一个Python爬虫代理服务器可以让你更方便地管理和使用代理IP 下面是一个详细的教程来帮助你搭建一个简单的Python爬虫代理服务器 1 首先 确保你已经安装了Python 你可以在官方网站 https www python org
  • 打开c语言生成exe文件,出现闪退的解决方法

    额 在给大一学弟上第一节实验课的时候 经常有学弟问我 为什么打开c语言生成的exe文件 立马闪退 起初个别问的时候 我只是简单的说明程序运行完了 就自动关了 现在先不用涉及这个 以后自然懂了 但是后来问的人多了 我就觉得有必要先给他们提一下
  • Entity Framework Core系列教程-24-使用存储过程

    在Entity Framework Core中使用存储过程 在这里 您将学习如何在Entity Framework Core中执行数据库存储过程 EF Core提供了以下方法来执行存储过程 DbSet
  • 【总结】C++各种进制转换函数汇总

    文章目录 前言 一 指定格式转换输出 二 任意2 36进制数转化为10进制数 三 10进制数转换为任意的n进制数 四 使用字符串流string stream进制转换 前言 进制之间的转换有两种方法 自定义进制转换函数 将一个n进制的数转换为
  • FFmpeg中AVDictionary介绍

    FFmpeg中的AVDictionary是一个结构体 简单的key value存储 经常使用AVDictionary设置或读取内部参数 声明如下 具体实现在libavutil模块中的dict c h 提供此结构体是为了与libav兼容 但它
  • gcc命令生成静态库和动态库

    一 基本概念1 1什么是库在windows 平台和linux 平台下都大量存在着库 本质上来说库是一种可执行代码的二进制形式 可以被操作系统载入内存执行 由于windows 和linux 的平台不同 主要是编译器 汇编器和连接器的不同 因此
  • pandas 数据结构

    Series常用操作 知道 Series创建 传入一个Python列表 如果传入的数据类型是统一的数字 那么最终的dtype类型是int64 如果传入的数据类型是统一的字符串 那么最终的dtype类型是object 如果传入的数据类型是多种