python学习1
大家好,这里是七七,今天开始又新开一个专栏,Python学习。这次思考了些许,准备用例子来学习,而不是只通过一大堆道理和书本来学习了。啊对,这次是从0开始学习,因此大佬不用看本文了,小白一起来看看吧。
话不多说,直接开始
目录
一、pandas库
二、matplotlib.pylot库
三、代码举例学习
代码1
代码2
问题:如果只有xlsx文件,怎么改代码呢?
代码3
编辑 代码4
一、pandas库
Pandas 是一个数据处理和分析的开源库,用于处理和操作结构化数据。它提供了高性能、易于使用的数据结构,如 DataFrame,用于处理表格化数据。通过 Pandas,你可以轻松地读取和写入各种数据格式(如 CSV、Excel、SQL 数据库等),清洗和转换数据,执行数据计算和聚合操作,以及进行数据可视化。Pandas 还提供了强大的数据索引和选择功能,可以快速高效地操作大型数据集。因此,Pandas 是数据科学和数据分析工作流中常用的工具之一。
二、matplotlib.pylot库
`matplotlib.pyplot` 是一个用于数据可视化的 Python 库,它是 matplotlib 的一个子模块。matplotlib 是一个功能强大的绘图库,提供了各种绘图选项和自定义功能,用于创建各种类型的静态、动态和交互式图表。
`matplotlib.pyplot` 提供了一系列简单的绘图函数,使得绘图变得更加容易和直观。你可以使用 `pyplot` 创建折线图、散点图、柱状图、饼图、直方图等各种常见的图表类型。它还支持对图表进行自定义,可以调整颜色、标签、标题、轴标注等属性,以及添加图例、注释等元素。此外,`pyplot` 还可以与 NumPy 和 Pandas 等库进行无缝集成,便于在图表中展示和处理数据。
总而言之,`matplotlib.pyplot` 是一个用于绘制各类图表的工具,可以帮助你更好地理解和展示数据。它在数据可视化和数据分析中广泛使用,是数据科学领域中重要的工具之一。
三、代码举例学习
代码1
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=[u'simHei']
plt.rcParams['axes.unicode_minus']=False
第一行:
引入matplotlib.pyplot库,并起别名叫plt。
第二行:
使用了
rcParams对象来设置 matplotlib 库中的默认字体。其中rcParams是一个字典对象,用于存储和管理 matplotlib 库的默认参数。这些参数可以控制绘图的外观、属性和行为等。在这里,font.sans-serif是其中一个参数,表示无衬线字体的名称或列表。它用于设置图表中的默认字体,如果找不到指定的字体,matplotlib 将使用备用字体进行替代。具体来说,
plt.rcParams['font.sans-serif']=[u'simHei']应该是将默认的 sans-serif 字体名称设置为 “SimHei”,而 “SimHei” 是一种常用的中文无衬线字体,具有良好的可读性和展示效果。这样,当你在图表中添加中文标签和文字时,matplotlib 将使用 “SimHei” 作为默认字体,以确保标签和文字能够正常显示。这个设置适用于绘制中文图表的场景,如果不需要使用中文,可以选择其他的 sans-serif 字体或者使用默认设置即可。
第三行:
plt.rcParams['axes.unicode_minus']=False是在 matplotlib 中设置坐标轴上的负号字符编码使用 Unicode 编码,以免出现显示为方块或其他乱码的情况。负号字符通常用于表示负数或表示范围。在使用 matplotlib 时,如果不将负号转换成 Unicode 编码,则有可能会出现显示异常的情况,例如负号显示为方块或其他符号。这是因为 matplotlib 默认使用的字体不支持负号字符的显示,因此需要手动设置负号的编码格式为 Unicode。
通过将
plt.rcParams['axes.unicode_minus']属性设置为False,可以让 matplotlib 使用 Unicode 编码显示负号字符,从而避免出现负号显示异常的问题。这种设置可以用于绘制包含负数坐标轴或包含负数范围的图表,例如绘制股票数据的 K 线图等。
代码2
csv_file='data/附件 1.csv'
df_1=pd.read_csv(csv_file)xlsx_file = 'data/附件3.xlsx'
df = pd.read_excel(xlsx_file)
这段代码使用了 pandas 库中的 `read_csv()` 函数来读取一个 CSV 文件,并将读取的数据存储在一个 pandas DataFrame 对象中。
具体解释如下:
1. `csv_file='data/附件 1.csv'`:这行代码定义了一个名为 `csv_file` 的变量,并将其赋值为一个包含文件路径的字符串。这里指定的文件路径是 'data/附件 1.csv',其中 'data' 是文件所在的文件夹,'附件 1.csv' 是文件的名称。
2. `df_1=pd.read_csv(csv_file)`:这行代码使用 `pd.read_csv()` 函数读取了指定路径的 CSV 文件,并将读取的数据存储在一个名为 `df_1` 的 pandas DataFrame 对象中。`pd` 是 pandas 的别名,它是导入 pandas 库时常用的别名。通过调用 `read_csv()` 函数并传递文件路径作为参数,可以读取 CSV 文件的内容并将其转换为一个 DataFrame 对象。
经过以上步骤,原始的 CSV 文件的数据就被读取并存储在了 `df_1` 这个 DataFrame 对象中,可以通过该对象进行各种数据分析、处理和可视化操作。
问题:如果只有xlsx文件,怎么改代码呢?
xlsx_file = 'data/附件1.xlsx'
df_1 = pd.read_excel(xlsx_file)
在Python中创建一个data文件夹,把附件1.xlsx放入这个文件夹中,改为这段代码就可以了。
代码3
df['日期']=pd.to_datetime(df['日期'])
df['月份']=df['日期'].dt.month
-
pd.to_datetime(df['日期'])将 DataFrame 中 “日期” 列的数据类型从字符串转换为日期时间类型,以便后续处理和分析。 -
df['日期'].dt.month将 “日期” 列中的日期时间格式数据的月份部分提取出来,并将提取的结果存储在一个新的“月份”列中。这里使用dt.month方法可以方便地实现将月份信息提取出来,返回的是一个由月份部分组成的 Series 对象。
输出如下:
代码4
mapping_dict=df_1.set_index('单品编码')['分类名称'].to_dict()
df['品类']=df['单品编号'].map(mapping_dict)
使用 set_index() 函数将 DataFrame df_1 的 “单品编码” 列设置为索引,然后使用 to_dict() 函数将索引列 “单品编码” 作为键,“分类名称” 列作为值,创建了一个字典对象 mapping_dict。
接下来,df['单品编号'].map(mapping_dict) 将 DataFrame df 的 “单品编号” 列的值作为键去查找 mapping_dict 字典中对应的值,并将查找结果赋值给 “品类” 列。
这样做的目的是通过 mapping_dict 字典对 “单品编号” 列的值进行映射,将对应的 “分类名称” 值赋给 “品类” 列。
这是输出结果:

相关文章:
python学习1
大家好,这里是七七,今天开始又新开一个专栏,Python学习。这次思考了些许,准备用例子来学习,而不是只通过一大堆道理和书本来学习了。啊对,这次是从0开始学习,因此大佬不用看本文了,小…...
【SpringBoot】Spring Boot 单体应用升级 Spring Cloud 微服务
Spring Cloud 是在 Spring Boot 之上构建的一套微服务生态体系,包括服务发现、配置中心、限流降级、分布式事务、异步消息等,因此通过增加依赖、注解等简单的四步即可完成 Spring Boot 应用到 Spring Cloud 升级。 Spring Boot 应用升级为 Spring Cloud…...
el-tree搜索的使用
2023.12.11今天我学习了如何对el-tree进行搜索的功能,效果如下: 代码如下: 重点部分:给el-tree设置ref,通过监听roleName的变化过滤数据。 default-expand-all可以设置默认展开全部子节点。 check可以拿到当前节点的…...
Java使用Microsoft Entra微软 SSO 认证接入
1. Microsoft Entra Microsoft Entra ID 是基于云的标识和访问管理服务,可帮助员工访问外部资源。 示例资源包括 Microsoft 365、Azure 门户以及成千上万的其他 SaaS 应用程序。 Microsoft Entra ID 还可帮助他们访问你的企业 Intranet 上的应用等内部资源&#x…...
“华为杯”研究生数学建模竞赛2016年-【华为杯】A题:无人机在抢险救灾中的优化运用(附获奖论文及MATLAB代码实现)
目录 摘 要: 1. 问题重述 1.1. 问题背景 1.2. 需要解决的问题 1.2.1....
17--异常处理
1、异常概述 1.1 什么是异常 异常:指的是程序在执行过程中,出现的非正常情况,如果不处理最终会导致JVM的非正常停止。 异常指的并不是语法错误和逻辑错误。语法错了,编译不通过,不会产生字节码文件,根本运…...
数据结构 | c++编程实现求二叉树的叶节点的个数。(递归非递归)
目录 非递归 递归 非递归 #include<iostream> #include<stack> using namespace std; struct BTNode {int data;BTNode* left, * right;BTNode(int val) :data(val), left(NULL), right(NULL) {}}; //递归的方式求二叉树的叶子结点数 int countnode(BTNode* t) …...
python读取csv文件
在Python中,你可以使用pandas库来读取CSV文件。以下是一个基本的例子: import pandas as pd# 读取CSV文件data pd.read_csv(filename.csv)# 显示前几行数据print(data.head()) 这里,filename.csv应该被替换为你的CSV文件的实际路径和名称。…...
租一台服务器多少钱决定服务器的价格因素有哪些
租一台服务器多少钱决定服务器的价格因素有哪些 大家好我是艾西,服务器这个名词对于不从业网络行业的人们看说肯定还是比较陌生的。在21世纪这个时代发展迅速的年代服务器在现实生活中是不可缺少的一环,平时大家上网浏览自己想要查询的信息等都是需要服…...
深度学习(生成式模型)——ADM:Diffusion Models Beat GANs on Image Synthesis
文章目录 前言基础模型结构UNet结构Timestep Embedding关于为什么需要timestep embedding global attention layer 如何提升diffusion model生成图像的质量Classifier guidance实验结果 前言 在前几篇博文中,我们已经介绍了DDPM、DDIM、Classifier guidance等相关的…...
Ubuntu无法解析域名DNS指向127.0.0.53问题处理
用nslookup 域名.com返回127.0.0.53无法解析错误 error"Could not lookup srv records on xxx.com: lookup xxx.com on 127.0.0.53:53: no such host" #首次尝试编辑/etc/resolved.conf文件DNS为8.8.8.8 或1.1.1.1 发现reboot重启后又恢复到127.0.0.53的内容#再次尝…...
Intewell-Hyper I_V2.0.0_release版本正式发布
新型工业操作系统_Intewell-Hyper I_V2.0.0_release版本正式发布 软件发布版本信息 版本号:V2.0.0 版本发布类型:release正式版本 版本特点 1.建立Intewell-Hyper I基线版本 版本或修改说明 基于Intewell-Lin V2.3.0_release版本: 1.Devel…...
Mysql mybatis 语法示例
service package com.ruoyi.goods.service;import java.util.List; import com.ruoyi.goods.domain.GoodsProducts;/*** 商品Service接口* * author ruoyi* date 2023-08-27*/ public interface IGoodsProductsService {/*** 查询商品* * param ProductID 商品主键* return 商…...
第77讲:二进制方式搭建MySQL数据库5.7版本以及错误日志管理
二进制方式搭建MySQL数据库5.7版本 前面是使用的yum的方式安装的MySQL数据库,在企业生产环境中大多数都用二进制方式安装。 本次使用二进制方式搭建MySQL 5.7.36版本。 1.二进制安装MySQL5.7版本 1.1.下载MySQL5.7版本的二进制文件 [root@mysql ~]# wget https://downloads.…...
R语言,table()函数实现统计每个元素出现的频数+并将最终统计频数结果转换成dataframe数据框形式
在 R中,要统计dataframe数据框中每个元素出现的频数,可以使用table()函数。以下是一个示例: 目录 一、创建数据 二、统计第一列每个元素出现的频数 三、统计第二列每个元素出现的频数 四、将频数结果转换为数据框,并改列名 一…...
微信小程序uniapp记住密码
记住密码功能 在请求登录接口成功后,我们需要判断用户是否勾选记住密码,如果是,则将记住密码状态、账号信息存入本地。 下次登录时,获取本地的记住密码状态,如果为true则获取本地存储的账号信息,将信息回填…...
喜报!Coremail荣获2023信创“大比武”优秀生态融合奖
近期,2023信创“大比武”金融业务创新应用赛道(简称金融赛道)活动正式落下帷幕。经过赛程的层层考核,中泰证券股份有限公司(简称“中泰证券”)与Coremail联合组成的“中泰证券CACTER邮件安全保卫队”最终在…...
知识库SEO:提升网站内容质量与搜索引擎排名的策略
随着搜索引擎算法的不断更新和优化,单纯依靠关键词堆砌和外部链接的时代已经过去。现在的SEO(搜索引擎优化)已经转向了以提供高质量、有价值内容为核心的阶段。知识库SEO便是这个新阶段的重要策略之一。 | 一、知识库SEO的概念与意义 1.定义…...
GPIO复用时5个调试接口引脚要注意
一、JTAG引脚作为GPIO使用要注意 例如PA15引脚,它默认时JTDI引脚,但是可以复用为SPI的NSS片选信号。在初始化时,需要先开启AFIO时钟,再关闭JTAG功能,否则GPIO功能仍然不起作用。初始化代码如下: stm32f10…...
华为云CodeArts Check常见问答汇总
1.【Check】如何查看代码检查的历史记录呢? 答:当前支持查看代码检查日志的历史记录,具体操作步骤: 1、进入代码检查页面,在任务列表中,单击任务名称。 2、进入“代码检查详情”页面,选择“…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
Unity UGUI Button事件流程
场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...
nnUNet V2修改网络——暴力替换网络为UNet++
更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...
小木的算法日记-多叉树的递归/层序遍历
🌲 从二叉树到森林:一文彻底搞懂多叉树遍历的艺术 🚀 引言 你好,未来的算法大神! 在数据结构的世界里,“树”无疑是最核心、最迷人的概念之一。我们中的大多数人都是从 二叉树 开始入门的,它…...
ZYNQ学习记录FPGA(一)ZYNQ简介
一、知识准备 1.一些术语,缩写和概念: 1)ZYNQ全称:ZYNQ7000 All Pgrammable SoC 2)SoC:system on chips(片上系统),对比集成电路的SoB(system on board) 3)ARM:处理器…...
人工智能 - 在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型
在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型。这些平台各有侧重,适用场景差异显著。下面我将从核心功能定位、典型应用场景、真实体验痛点、选型决策关键点进行拆解,并提供具体场景下的推荐方案。 一、核心功能定位速览 平台核心定位技术栈亮…...
一些实用的chrome扩展0x01
简介 浏览器扩展程序有助于自动化任务、查找隐藏的漏洞、隐藏自身痕迹。以下列出了一些必备扩展程序,无论是测试应用程序、搜寻漏洞还是收集情报,它们都能提升工作流程。 FoxyProxy 代理管理工具,此扩展简化了使用代理(如 Burp…...
