pandas
一、pandas初级

安装matplotlib:pip install matplotlib
安装pandas:pip install pandas
本地C:\Users\Administrator\pip,在此目录配置清华园的远程下载

配置内容:
[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com
1.1 花色调整
import numpy as np
import matplotlib.pyplot as plt
img=plt.imread('./向日葵.jpg')
img.shape #高、宽、颜色,(1200, 1920, 3)
# 1200高度像素
# 1920宽度像素
# 3 颜色通道:红绿蓝
plt.imshow(img) #展示图像,红绿蓝,红色
plt.imshow(img[:,:,::-1]) #蓝绿红,蓝色
plt.imshow(img[:,:,[1,0,2]]) #绿红蓝,绿色
1.2 pandas
1.2.1 数据结构
一维结构
import pandas as pd
s=pd.Series(data=[0,3,5,7],index=['a','b','c','d'])#指定索引,一一对应
s=pd.Series(data=[0,3,5,7])#不指定索引,默认从0自增
s
0 0
1 3
2 5
3 7
dtype: int64
二维结构
第一种方式:
import pandas as pd
import numpy as np
#Excel类似
#创建DataFrame第一种方式
pd.DataFrame(data=np.random.randint(0,150,size=(5,3)),columns=['Python','En','Math'],index=list('ABCDE'),dtype=np.float32)

第二种方式:
import pandas as pd
import numpy as np
#Excel类似
#创建DataFrame第二种方式,字典中的key作为列索引,冒号后面表示数据pd.DataFrame(data={'Python':np.random.randint(100,150,size=5),'En':np.random.randint(0,150,size=5),'Math':np.random.randint(0,150,size=5)},index=list('ABCDE'))

1.2.2 数据查看
import numpy as np
import pandas as pd
df=pd.DataFrame(data=np.random.randint(0,151,size=(150,3)),index=None,#行索引默认columns=['Python','Math','En'])#列索引
# df.head(10)#查看前10行
# df.tail#默认查看后5个
# df.shape#查看形状
df['Python']=df['Python'].astype(np.int64)#修改数据类型
df.dtypes#查看数据类型
df.index#行索引
df.columns#列索引
df.values#对象值,二维数组
df.describe()#查看数值型列的汇总统计,平均值,最大值最小值等
df.info()#查看列索引、数据类型、非空计数和内存信息

1.2.3 数据的输入和输出
第一节:csv
import numpy as np
import pandas as pd
df=pd.DataFrame(data=np.random.randint(0,50,size=(50,5)),#薪资情况columns=['IT','化工','生物','教师','士兵'])
display(df)
#保存到当前路径
df.to_csv('./salary.csv',sep=',',#文本分隔符,尽量用逗号header=True,#是否保存列索引index=True#是否保存行索引,若保存,文件被加载时,默认行索引会作为一列)
#加载文件
pd.read_csv('./salary.csv',sep=',',header=[0],#指定列索引index_col=0)#指定行索引
第二节:Excel
pip install xlrd
pip install xlwt
写
import numpy as np
import pandas as pd
df1=pd.DataFrame(data=np.random.randint(0,50,size=(50,5)),#薪资情况columns=['IT','化工','生物','教师','士兵'])
df2=pd.DataFrame(data=np.random.randint(0,50,size=(150,3)),#计算机科目的考试成绩 columns=['Python','Tensorflow','Keras'])#列索引df1.to_excel('./salary.xlsx',sheet_name='salary', #Excel中工作表的名字header=True,#是否保存列索引index=False)#是否保存行索引
读
pd.read_excel('./salary.xlsx',sheet_name=0,#读取哪一个Excel工作表,默认第一个,或者sheet_name='salary'header=0,#使用第一行数据作为列索引names=list('ABCDE'),#替换列索引index_col=1)#指定行索引,B作为行索引
一个Excel中保存多个工作表
with pd.ExcelWriter('./data.xlsx') as writer:df1.to_excel(writer,sheet_name='salary',index=False)df2.to_excel(writer,sheet_name='score',index=False)
Excel中保存的多个工作表中,读取一个
pd.read_excel('./data.xlsx',sheet_name='salary')#读取Excel中指定名字的工作表
1.2.4 数据选择
和Numpy的花式索引类似
df=pd.DataFrame(np.random.randint(0,150,size=(1000,3)),columns=['Py','En','Math'])
df

列获取:
# df['Py'] #不显示列索引
# df.Py #不显示列索引
df[['Py','Math']]#使用两个中括号时才会显示列索引
df[['En']] #显示列索引
行获取:
df2=pd.DataFrame(np.random.randint(0,150,size=(5,3)),index=list('ABCDE'),columns=['Py','En','Math'])
df2

df2.loc['A']#行索引
df2.loc[['A','D']]

# df2.iloc[0]#自然数索引,第一行
df2.iloc[[0,3]]#第1行,第4行

具体数值:
df2['Math']['B']#这个必须分开写 110
df2.loc['B']['Math'] #加了loc首先要跟行索引,注意先后顺序110
df2.loc['B','Math']#也是先行后列110
# iloc表示,先获取行,再获取列
df2.iloc[1,2]#110
df2.loc['A':'C','En':]

df2.iloc[2:4,[0,-1]]#第三行、第四行的第一列和最后一列

boolean索引:
cond=df['Py']==140
df[cond]

cond1=df['Py']>130
cond2=df['Math']>130
cond=cond1&cond2
df[cond]

相关文章:
pandas
一、pandas初级 安装matplotlib:pip install matplotlib 安装pandas:pip install pandas 本地C:\Users\Administrator\pip,在此目录配置清华园的远程下载 配置内容: [global] index-urlhttps://pypi.tuna.tsinghua.edu.cn/simple [install] trusted-ho…...
使用关键字interface来声明使用接口-PHP8知识详解
继承特性简化了对象、类的创建,增加了代码的可重用性。但是php8只支持单继承,如果想实现多继承,就需要使用接口。PHP8可以实现多个接口。 接口类通过关键字interface来声明,接口中不能声明变量,只能使用关键字const声明…...
计算机毕业设计 基于SSM的高校毕业论文管理系统小程序的设计与实现 Java实战项目 附源码+文档+视频讲解
博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻…...
【Java 进阶篇】JDBC查询操作详解
在数据库编程中,查询是一项非常常见且重要的操作。JDBC(Java Database Connectivity)提供了丰富的API来执行各种类型的查询操作。本篇博客将详细介绍如何使用JDBC进行查询操作,包括连接数据库、创建查询语句、执行查询、处理结果集…...
我的企业证书是正常的但是下载应用app到手机提示无法安装“app名字”无法安装此app,因为无法验证其完整性解决方案
我的企业证书是正常的但是下载应用app到手机提示无法安装“app名字”无法安装此app,因为无法验证其完整性解决方案 首先,确保您从可信任的来源下载并安装企业开发者签名过的应用程序。如果您不确定应用程序的来源,建议您联系应用程序提供者…...
【数据结构】排序(2)—冒泡排序 快速排序
目录 一. 冒泡排序 基本思想 代码实现 时间和空间复杂度 稳定性 二. 快速排序 基本思想 代码实现 hoare法 挖坑法 前后指针法 时间和空间复杂度 稳定性 一. 冒泡排序 基本思想 冒泡排序是一种交换排序。两两比较数组元素,如果是逆序(即排列顺序与排序后…...
Redis与分布式-分布式锁
接上文 Redis与分布式-集群搭建 1.分布式锁 为了解决上述问题,可以利用分布式锁来实现。 重新复制一份redis,配置文件都是刚下载时候的不用更改,然后启动redis服务和redis客户。 redis存在这样的命令:和set命令差不多࿰…...
docker安装nginx详解
创建html的挂载目录docker volume create nginx8020 创建conf的挂载目录mkdir -p /opt/nginx/conf 拉取镜像docker pull nginx 初始化挂载目录的配置文件docker run --rm --name nginx-short -p 8020:80 -d nginx docker cp nginx-short:/etc/nginx/nginx.conf /opt/nginx/…...
优化思考二
优化思考一_云湖在成长的博客-CSDN博客 翻到了两年前写文章,有了不一样的观点。 先说一样的想法吧:数据(输入)>>优化模型(处理)>>结果方案(输出)。优化是其中最重要的…...
大模型微调概览
文章目录 微调 和 高效微调高效微调技术方法概述高效微调方法一:LoRA高效微调方法二: Prefix Tuning高效微调方法三: Prompt Tuning高效微调方法四: P-Tuning v2基于强化学习的进阶微调方法RLHF 训练流程微调 和 高效微调 微调,Fine-Tuning, 一般指全参数的微调(全量微调),…...
利用norm.ppfnorm.interval分别计算正态置信区间[实例]
scipy.stats.norm.ppf用于计算正态分布的累积分布函数CDF的逆函数,也称为百分位点函数。它的作用是根据给定的概率值,计算对应的随机变量值。scipy.stats.norm.interval:用于计算正态分布的置信区间,可指定均值和标准差。scipy.st…...
计算机网络各层设备
计算机网络通常被分为七层,每一层都有对应的设备。以下是各层设备的简要介绍: 物理层(Physical Layer):负责传输二进制数据位流的物理媒体和设备,例如网线、光纤、中继器、集线器等。 数据链路层…...
java this用法
在Java中,this是一个关键字,表示当前对象。它可以用来引用当前对象的实例变量、实例方法或者调用当前对象的构造方法。在本文中,我们将深入探讨Java中this关键字的用法。 1. 引用当前对象的实例变量 在Java中,this关键字可以用来…...
【AI视野·今日NLP 自然语言处理论文速览 第四十六期】Tue, 3 Oct 2023
AI视野今日CS.NLP 自然语言处理论文速览 Tue, 3 Oct 2023 (showing first 100 of 110 entries) Totally 100 papers 👉上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Its MBR All the Way Down: Modern Generation Techniques Through the …...
Unity ddx与ddy
有关Unity的dx与dy的概念 引用的文章 1link 2link 3link 4link 有关概念 我们知道在光栅化的时刻,GPUs会在同一时刻并行运行很多Fragment Shader,但是并不是一个pixel一个pixel去执行的,而是将其组织在2x2的一组pixels分块中,…...
bootstrap.xml 和applicaiton.properties和applicaiton.yml的区别和联系
当谈到Spring Boot应用程序的配置时,有三个关键文件经常被提到:bootstrap.xml、application.properties和application.yml。这些文件在应用程序的不同阶段起着不同的作用,并在配置应用程序属性时有一些区别和联系。本文将探讨这些文件的作用、…...
基于被囊群优化的BP神经网络(分类应用) - 附代码
基于被囊群优化的BP神经网络(分类应用) - 附代码 文章目录 基于被囊群优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.被囊群优化BP神经网络3.1 BP神经网络参数设置3.2 被囊群算法应用 4.测试结果&#x…...
我的第一个react.js 的router工程
react.js 开发的时候,都是针对一个页面的,多个页面就要用Router了,本文介绍我在vscode 下的第一个router 工程。 我在学习react.js 前端开发,学到router 路由的时候有点犯难了。经过1-2天的努力,终于完成了第一个工程…...
XXPermissions权限请求框架
官网 项目地址:Github博文地址:一句代码搞定权限请求,从未如此简单 框架亮点 一马当先:首款适配 Android 13 的权限请求框架简洁易用:采用链式调用的方式,使用只需一句代码体积感人:功能在同类…...
远程代码执行渗透测试—Server2128
远程代码执行渗透测试 任务环境说明: √ 服务器场景:Server2128(开放链接) √服务器场景操作系统:Windows √服务器用户名:Administrator密码:pssw0rd 1.找出靶机桌面上文件夹1中的文件RCEBac…...
使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...
