【Python】pandas库---数据分析

  大学毕业那年,你成了社会底层群众里,受教育程度最高的一批人。 

前言 

  这是我自己学习Python的第四篇博客总结。后期我会继续把Python学习笔记开源至博客上。 

  上一期笔记有关Python的NumPy数据分析,没看过的同学可以去看看:
【Python】NumPy数据分析(二)_numpy里的维度是行数-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/hsy1603914691/article/details/142675036

pandas库 

1. pandas库建立在Numpy库之上,继承了Numpy库的功能。

2. Numpy库的主要对象是数组,而pandas库的主要对象是Series

3. 我们一般使用import pandas as pd,即用pd来简写pandas

创建Series对象 

1. 将一个列表作为参数,传入pandas库中的Series()方法即可创建一个Series对象。

2. 如果直接打印Series对象,那么会在左边给出索引、会在右边给出Series元素值。

3. 如果想单独打印索引,则使用Series.index,如果想单独打印Series元素值,则使用Series.values

4. Series对象也能进行索引和切片,和数组类似。 

import pandas as pd
s1=pd.Series([1,2,3,4,5])
print(s1)
print(s1.values)
print(s1.index)
#0    1
#1    2
#2    3
#3    4
#4    5
#dtype: int64
#[1 2 3 4 5]
#RangeIndex(start=0, stop=5, step=1)

自定义索引

1. pandasSeries对象的索引可以自定义,只需创建Series对象时在列表后面指定index

2. 对于Series对象,既可以使用标签索引,又可以使用位置索引。

3. 在pandas中,如果使用标签索引,则使用loc方法;如果使用位置索引,则使用iloc方法。

4. 另一种创建自定义索引Series对象的方法是:把字典作为参数传入Series()方法,那么字典中的键则变成标签,字典中的值则变成元素值。

5. 如果想知道一个标签是否在Series对象里面,可以使用成员运算符in(not in)

6. 利用位置索引切片时,左闭右开;利用标签索引切片时,左右都是闭区间。

import pandas as pd
s1=pd.Series([1,2,3,4,5],index=['a','b','c','d','e'])
print(s1)
print(s1.values)
print(s1.index)
#a    1
#b    2
#c    3
#d    4
#e    5
#dtype: int64
#[1 2 3 4 5]
#Index(['a', 'b', 'c', 'd', 'e'], dtype='object')
print(s1.loc['a'])
#a
print(s1.iloc[1])
#a

Series对象的计算

1. pandas库会根据Series对象索引一致来计算元素值。

2. 为了避免出现NAN值,我们需要用pandas库提供的方法来进行加减乘除,而不能直接通过 + - * / 这四个符号来计算。

3. +Series1.add(Series1,fill_value=0)

4. -Series1.sub(Series1,fill_value=0)

5. *Series1.mul(Series1,fill_value=0)

6. /Series1.div(Series1,fill_value=0)

7. pandas库还提供了describe()方法,整体描述Series对象。

8. pandas库还提供了apply()方法,用于接收Series对象需要调用的函数,把Series对象的元素值作为参数传函数。

9. 以上的方法并不改变原来的Series对象,而是返回一个新的Series对象。

import pandas as pd
s1=pd.Series({"小明":92,"小红":67,"小杰":70,"小丽":88,"小华":76})
s2=pd.Series({"小明":95,"小杰":85,"小宇":60,"小娟":79,"小彤":76})
s3=s1.add(s2,fill_value=0)
print(s3)
print(s1.describe())
s1=s1+5
print(s1)def grade_std(score):if score>=90:return 'A'elif (score<90 and score>=80):return 'B'elif (score<80 and score>=70):return 'C'else:return 'D'
s4=s1.apply(grade_std)
print(s4)

创建DataFrame对象

1. 在pandas库中,多个Series对象组成一个DateFrame对象。Series对象类似于数组,而DateFrame对象类似于表格。

2. DateFrame对象的不同列可以是不同的数据类型,所以DateFrame对象不止有横向的索引,也有列项的列名。

3. 创建DateFrame对象,可以使用pandas库的DataFrame()方法,往里面传入一个字典为参数,其中字典的键是列名,字典的值是不同的Series对象。

致谢

  感谢您花时间阅读这篇文章!如果您对本文有任何疑问、建议或是想要分享您的看法,请不要犹豫,在评论区留下您的宝贵意见。每一次互动都是我前进的动力,您的支持是我最大的鼓励。期待与您的交流,让我们共同成长,探索技术世界的无限可能! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/63445.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【人工智能学习之HDGCN18关键点修改】

【人工智能学习之HDGCN18关键点修改】 训练部分修改部分 训练部分 请参考文章&#xff1a;【人工智能学习之HDGCN训练自己的数据集】 修改部分 参考源码中25关键点的区域划分&#xff0c;我们将18关键点划分为&#xff1a; 头部&#xff1a; 鼻子左眼和左耳右眼和右耳 上肢…

ARCGIS国土超级工具集1.2更新说明

ARCGIS国土超级工具集V1.2版本&#xff0c;功能已增加至47 个。在V1.1的基础上修复了若干使用时发现的BUG&#xff0c;新增了"矢量分割工具"菜单&#xff0c;同时增加及更新了了若干功能&#xff0c;新工具使用说明如下&#xff1a; 一、勘测定界工具栏更新界址点成果…

华为OD --- 流浪地球

华为OD --- 流浪地球 题目独立实现基本思路代码实现 其他答案实现思路代码实现 题目 独立实现 基本思路 1、首先把题目给出的启动机器初始化成数组, 2、用for循环模拟每隔1s更新这个初始化数组的前后两个机器. (源码中的updateTimeCount函数) 3、for循环每次循环后会检查当前…

DataOps驱动数据集成创新:Apache DolphinScheduler SeaTunnel on Amazon Web Services

引言 在数字化转型的浪潮中&#xff0c;数据已成为企业最宝贵的资产之一。DataOps作为一种文化、流程和实践的集合&#xff0c;旨在提高数据管道的质量和效率&#xff0c;从而加速数据从源头到消费的过程。白鲸开源科技&#xff0c;作为DataOps领域的领先开源原生公司&#xf…

【硬件IIC】stm32单片机利用硬件IIC驱动OLED屏幕

之前操作OLED屏幕都是用GPIO模拟IIC去驱动&#xff0c;最近打算用硬件IIC去驱动&#xff0c;于是写下这个demo,在这个过程中遇到一点小坑&#xff0c;记录一下&#xff0c;本文章非小白教程&#xff0c;所以只突出踩到的坑点&#xff0c;文章中涉及到的OLED也是网上资料写烂的&…

python如何自动加空格

首先&#xff0c;需要进行打开的一个pycharm的软件&#xff0c;可进行双击的打开该软件。 可以看到的是在当前的打开的文件中&#xff0c;格式相对较乱一下。格式不对会格式错误。 然后点击菜单栏中的“code”。 在弹出的下拉菜单中选择“reformat code”选项。 可以看到的是在…

【开源免费】基于SpringBoot+Vue.JS网上订餐系统(JAVA毕业设计)

本文项目编号 T 018 &#xff0c;文末自助获取源码 \color{red}{T018&#xff0c;文末自助获取源码} T018&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 新…

答题考试系统v1.6.1高级版源码分享+uniapp+搭建测试环境

一.系统介绍 一款基于FastAdminThinkPHPUniapp开发的小程序答题考试系统&#xff0c;支持多种试题类型、多种试题难度、练题、考试、补考模式&#xff0c;提供全部前后台无加密源代码&#xff0c;支持私有化部署 二.测试环境 系统环境&#xff1a;CentOS、 运行环境&#x…

经典电荷泵/Charge pump——1998.JSSC

电路结构 工作原理 M3 and M4 are the series switches, and M5, M6 switch to the highest voltage. If M5 and M6 are missing, having a large capacitor is of absolute necessity, because must always stay between 2 Vin and 2Vin - Uj to avoid switching on the vert…

Swin transformer 论文阅读记录 代码分析

该篇文章&#xff0c;是我解析 Swin transformer 论文原理&#xff08;结合pytorch版本代码&#xff09;所记&#xff0c;图片来源于源paper或其他相应博客。 代码也非原始代码&#xff0c;而是从代码里摘出来的片段&#xff0c;配上简单数据&#xff0c;以便理解。 当然&…

GPT-Omni 与 Mini-Omni2:创新与性能的结合

近年来&#xff0c;随着人工智能技术的飞速发展&#xff0c;各种模型和平台应运而生&#xff0c;以满足从个人用户到企业级应用的多样化需求。在这一领域&#xff0c;GPT-Omni 和 Mini-Omni2 是两款备受瞩目的技术产品&#xff0c;它们凭借独特的设计和强大的功能&#xff0c;在…

龙迅#LT7911E适用于EDP/DP/TPYE-C转MIPIDSI应用,支持图像处理功能,内置I2C,主应用副屏显示,投屏领域!

1. 描述 LT7911E 是一款高性能 eDP 转 MIPI D-PHY 转换器&#xff0c;旨在将 eDP 源连接到 MIPI 显示面板。 LT7911E 集成了一个符合 eDP1.4 标准的接收器&#xff0c;支持 1.62Gbps 至 5.67Gbps 的输入数据&#xff0c;以 270Mbps 的递增步长&#xff0c;以及一个 2 端口 D…

C语言——实现求出最大值

问题描述&#xff1a;利用C语言自定义函数求出一维数组里边最大的数字 //利用函数找最大数#include<stdio.h>int search(int s[9]) //查找函数 {int i , max s[0] , max_xia 0;for(i0;i<9;i){if(s[i] > max){max_xia i;max s[max_xia];}}return max; } in…

解锁 draw.io 流程图制作工具Docker私有化部署(2/2)

一、draw.io 流程图制作工具简介 &#xff08;一&#xff09;基础介绍 draw.io 是一款备受青睐的开源流程图软件&#xff0c;它有着诸多优点。首先&#xff0c;其界面十分整洁有序&#xff0c;完全没有广告的干扰&#xff0c;并且所有功能都是免费向用户开放的&#xff0c;这一…

[HNCTF 2022 Week1]baby_rsa

源代码&#xff1a; from Crypto.Util.number import bytes_to_long, getPrime from gmpy2 import * from secret import flag m bytes_to_long(flag) p getPrime(128) q getPrime(128) n p * q e 65537 c pow(m,e,n) print(n,c) # 62193160459999883112594854240161159…

docker run命令大全

docker run命令大全 基本语法常用选项基础选项资源限制网络配置存储卷和挂载环境变量重启策略其他高级选项示例总结docker run 命令是 Docker 中最常用和强大的命令之一,用于创建并启动一个新的容器。该命令支持多种选项和参数,可以满足各种使用场景的需求。以下是 docker ru…

Flink2.0未来趋势中需要注意的一些问题

手机打字&#xff0c;篇幅不长&#xff0c;主要讲一下FFA中关于Flink2.0的未来趋势&#xff0c;直接看重点。 Flink Forward Asia 2024主会场有一场关于Flink2.0的演讲&#xff0c;很精彩&#xff0c;官方也发布了一些关于Flink2.0的展望和要解决的问题。 1.0时代和2.0时代避免…

智能座舱进阶-应用框架层-Jetpack主要组件

Jetpack的分类 1. DataBinding&#xff1a;以声明方式将可观察数据绑定到界面元素&#xff0c;通常和ViewModel配合使用。 2. Lifecycle&#xff1a;用于管理Activity和Fragment的生命周期&#xff0c;可帮助开发者生成更易于维护的轻量级代码。 3. LiveData: 在底层数据库更…

PowerMILL 客制化宏 - 变量

从PowerMILL2012起&#xff0c;命令起始支持变量。支持变量将使宏命令更加灵活和功能强大。可以对变量做一些运算而不依赖其它语言。 当前支持有变量类型为&#xff1a; INT&#xff1b; REAL&#xff1b; STRING&#xff1b; ENTITY&#xff1b; ARRAY LIST; OBJECT; 以下就…

arcgis for js实现地图截图、地图打印

地图截图 效果 实现 复制运行即可 要实现复杂的截图保存可以参考 官网案例 <!DOCTYPE html> <html lang"zn"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" />…