【python】python编程基础

news2024/11/19 4:46:27

基础工具包

  • python 原生数据结构
    • 元组 Tuple
    • 列表 list
    • 集合 set
    • 字典 dictionary
  • NumPy 数据结构
    • 数组 Ndarray
    • 矩阵 Matrix
  • Pandas 数据结构
    • 序列 Series (一维)
    • 数据框 DataFrame (二维)
  • Matplotlib 数据可视化
    • 绘制饼图
    • 绘制折线图
    • 绘制直方图
    • 绘制散点图
    • 绘制箱型图
    • 使用 DataFrame 绘图
      • 折线图
      • 横柱形图
      • 柱形图
      • 面积图
      • 散点图
      • 饼图
      • 二维直方图

python 原生数据结构

元组 Tuple

一个元素不可修改的线性数据结构,数据项放在 () 内。

(1)元组的创建形式

tup1=("manhman","guoguo",1988,2000)
tup2=(1,)
tup3="a","b","c","d"
tup4=()

seq=['a','b','c']
tup5=tuple(seq)

在这里插入图片描述

其中,元组一旦创建就不能修改其中某一个元素的信息

(2)元组的查询

可以通过下标访问到元组中的每个元素
在这里插入图片描述

(3)元组的删除

元组一旦创建成功之后,元组内的数据是不可被修改的,要删除元组中某个元素也是不被允许的,只能整体删除元组

在这里插入图片描述

(4)元组的链接

可以将多个元组合并为一个元组
在这里插入图片描述

也可以将一个元组复制多份
在这里插入图片描述
(5)tuple 的特殊操作

计算元组长度,以及最大最小值:
在这里插入图片描述
元组内元素类型的转换:

在这里插入图片描述

列表 list

一个有序且可变长度的线性数据结构,列表项放在 [] 内。

(1)列表的创建
在这里插入图片描述
(2)列表的查询

在这里插入图片描述
(3)列表增加元素

在这里插入图片描述

(4)列表的删除

在这里插入图片描述

(5)列表的修改

在这里插入图片描述

(6)列表特殊操作
在这里插入图片描述
同样也可以进行强制类型转换

在这里插入图片描述

集合 set

一个元素无序且元素不可重复的数据结构,集合中的元素放在 {} 内。

(1)集合的创建

在这里插入图片描述

(2)集合查询
在这里插入图片描述
(3)集合增加

add 将整个元素信息直接进行插入,若要插入的元素存在则无意义;
update 是将元素一个一个进行插入
在这里插入图片描述

(4)集合删除

remove() 函数可以删除指定元素,若要删除元素不存在则会报错;
discard() 函数可以删除指定元素,若元素不存在不报错;
pop() 函数是随机删除一个元素;
clear() 将整个集合进行清空

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(5)集合特殊操作

在这里插入图片描述

在这里插入图片描述

字典 dictionary

一组具有多个键值对组成的数据结构,形式为:{键1:值1, 键2:值2, …}

(1)创建字典
在这里插入图片描述

(2)字典查询
在这里插入图片描述

(3)字典增加
在这里插入图片描述

(4)字典删除
在这里插入图片描述
(5)字典的修改
在这里插入图片描述

NumPy 数据结构

数组 Ndarray

引入 Numpy 包,将其命名为 np
import Numpy as np

(1)数组的创建
在这里插入图片描述
(2)数组查询

在这里插入图片描述

在这里插入图片描述

(3)数组增加

在这里插入图片描述
(4)数组删除

在这里插入图片描述
(5)数组修改

在这里插入图片描述

(6)特殊操作

数组的转置

在这里插入图片描述

数组的堆叠

在这里插入图片描述

矩阵 Matrix

(1)矩阵创建

在这里插入图片描述
在这里插入图片描述

(2)矩阵查询

在这里插入图片描述

在这里插入图片描述

(3)矩阵增加

在这里插入图片描述

(4)矩阵删除

在这里插入图片描述

(5)矩阵乘法

在这里插入图片描述

(6)矩阵转置,求逆

在这里插入图片描述

(7)矩阵的特征向量,特征值

在这里插入图片描述

Pandas 数据结构

pandas 包中的数据结构主要包含 序列(Series)、(DataFrame)

import pandas as pd

序列 Series (一维)

(1)创建序列

在这里插入图片描述
在这里插入图片描述

(2)序列查询

在这里插入图片描述

(3)序列追加

在这里插入图片描述

(4)序列删除

在这里插入图片描述

(5)序列修改

在这里插入图片描述

(6)特殊操作

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

创建时间序列

在这里插入图片描述

数据框 DataFrame (二维)

(1)创建

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
(2)查询

在这里插入图片描述
(3)增加操作

在这里插入图片描述

在这里插入图片描述

(4)删除操作

在这里插入图片描述

(5)合并操作

dic1={'name':['liuli','tony','jesper'],'no':['001','002','003'],'age':[12,13,14]}
dir1=pd.DataFrame(dic1)
print('\ndir1:\n',dir1)

dic2={'new_chat':['should','may','substr']}
dir2=pd.Series(dic2)
print('\ndir2:\n',dir2)

dir3=pd.concat([dir1,dir2],axis=1)   # 列合并
print('\n合并之后:\n',dir3)

dic1={'name':['liuli','tony','jesper'],'no':['001','002','003'],'age':[12,13,14]}
dir1=pd.DataFrame(dic1)
print('\ndir1:\n',dir1)

dic2={'name':['wangwa'],'no':['004'],'age':[35]}
dir2=pd.DataFrame(dic2)
print(dir2)

dir3=pd.concat([dir1,dir2],axis=0,ignore_index=True)   # 行合并
print('\n合并之后:\n',dir3)

在这里插入图片描述

Matplotlib 数据可视化

绘制饼图

plt.pie()


import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# 使用 pandas 包内部读取数据文件
sdata=pd.read_csv('./sdata.csv',encoding='utf-8',index_col=0)
print(sdata.head())          # 展示前五行数据

plt.rcParams['font.sans-serif']='SimHei'  # 设置中文字体
plt.rcParams['axes.unicode_minus']=False   # 正常显示负号
plt.figure(figsize=(5,5))  # 窗口大小
plt.title('2018年5月21日~29日成交量饼图')

label=(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35)

plt.pie(sdata.volume,labels=label)   # 饼图
plt.grid(True)
plt.show()   # 展示图形

在这里插入图片描述

绘制折线图

plt.plot()

#折线图
plt.plot(sdata.open,'r-',marker='o',label='open')
plt.plot(sdata.high,'b--',marker='*',label='high')
plt.plot(sdata.close,'g',marker='^',label='close')

plt.legend(loc=0)   # 设置左上角标签
plt.grid(True)
plt.xlabel('index')
plt.ylabel('value')
plt.title('Sdata Trend')
plt.show()

在这里插入图片描述

绘制直方图

plt.bar()

# 直方图
label=(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35)
plt.bar(label,sdata.volume,color='g',width=0.5)
plt.grid(True)
plt.xlabel('index')
plt.ylabel('volume')
plt.title('2018.5.21~2018.5.29')
plt.show()

在这里插入图片描述

绘制散点图

plt.scatter

# 散点图
label=(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35)
plt.scatter(label,sdata.low,marker='o')
plt.show()

在这里插入图片描述

绘制箱型图

plt.boxplot()


#箱型图
plt.boxplot((sdata.open,sdata.high,sdata.close),labels=('open','high','close'))
plt.show()

在这里插入图片描述
箱型图,从下往上分别代表数据的最小值,25%值区间,50%值区间,75%值区间,以及数据的最大值

使用 DataFrame 绘图

折线图

# DataFrame 绘图-----折线图
# 随机生成一个 10*3 的DataFrame 数据框,时间范围在 1~10
plot_df=pd.DataFrame(np.random.randint(1,10,30).reshape(10,3), columns=list('abc'))
plot_df.head()

plot_df.plot(subplots=True,figsize=(5,5))
plt.show()

在这里插入图片描述

横柱形图

# DataFrame 绘图----横柱形图
plot_df.plot(kind='barh')
plt.show()

在这里插入图片描述

柱形图

# DataFrame绘图 - ---横柱形图
plot_df.plot(kind='bar',stacked=True)
plt.show()

在这里插入图片描述

面积图

# DataFrame绘图 - ---面积图
plot_df.plot(kind='area')
plt.show()

在这里插入图片描述

散点图

# DataFrame绘图 - ---散点图
plot_df.plot('a','b',kind='scatter')
plt.show()

在这里插入图片描述

饼图

# DataFrame绘图 - ---饼图
plot_df['a'].plot(kind='pie')
plt.show()

在这里插入图片描述

二维直方图

# DataFrame绘图 - ---二维直方图
plot_df2=pd.DataFrame(np.random.randn(1000,2),columns=['a','b'])
plot_df2.plot.hexbin(x='a',y='b',gridsize=25)
plot_df2.head()   # 展示前五行数据
plt.show()

在这里插入图片描述

二维直方图可以想象为俯视的直方图

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

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

相关文章

《Linux操作系统编程》 第六章 Linux中的进程监控: fork函数的使用,以及父子进程间的关系,掌握exec系列函数

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…

一文读懂高分文章必备分析-GSEA

Gene Set Enrichment Analysis 或称 GSEA,是一种常用于转录组基因表达分析的数据挖掘技术,已经在《nature》、《Cell》、《ISME》、《Molecular Cell》、《Bioactive Materials》等高分杂志中发表多篇文章,涉及转录组及多组学内容。 凌恩生物…

yxcms存储型XSS至getshell 漏洞复现

为方便您的阅读,可点击下方蓝色字体,进行跳转↓↓↓ 01 环境部署02 漏洞配置03 利用方式04 修复方案 01 环境部署 (1)yxcms yxcms 基于 PHPMySQL 开发,这是一个采用轻量级 MVC 设计模式的网站管理系统。轻量级 MVC 设…

13-Cookie、Session、Token

目录 1.前置知识——HTTP协议 1.1.HTTP 的主要特点有以下 5 个: 1.2.HTTP 组成 1.3.为什么会有Cookie、Session、Token? 2.Cookie 3.Session PS:Cookie 和 Session 的联系与区别 4.Token 4.1.token的组成 4.2.token是如何生成的&am…

【广州华锐互动】VR航天航空体验展厅提供沉浸式的展示效果

VR航天航空体验展厅是一种基于虚拟现实技术的在线展览形式,它通过模拟真实的太空环境,为用户提供了一种身临其境的参观体验。与传统的线上展览相比,VR航天航空体验展厅具有以下几个特色: 1.沉浸式体验:VR航天航空体验…

史上最详细的webrtc-streamer访问摄像机视频流教程

目录 前言 一、webrtc-streamer的API 二、webrtc-streamer的启动命令介绍 1.原文 2.译文 三、webrtc-streamer的安装部署 1.下载地址 https://github.com/mpromonet/webrtc-streamer/releases 2.windows版本部署 3.Linux版本部署 四、springboot整合webrtc-streamer …

技术不断变革,亚马逊云科技中国峰会引领企业重塑业务

过去十年,数字化转型的浪潮携带着机遇和挑战席卷而来,几乎每个企业都在做数字化转型,开始向大数据、人工智能等新技术寻求生产力的突破。但随着数字化转型深入,很多企业开始感受到数字化投入的成本压力,加之新技术正带…

Alibi:Attention With Linear Biases Enables Input Length Extrapolation

Alibi:Attention With Linear Biases Enables Input Length Extrapolation IntroductionMethodResult参考 Introduction 假设一个模型在512token上做训练,在推理的时候,模型在更长的序列上表现叫做模型的外推性。作者表明以前的位置编码如Sin、Rotary、…

JS 数据变化监听函数封装

文章目录 监听函数使用用例重复添加函数,只有最后一个监听函数有效 监听函数 /*** 监听函数* param {对象} vm * param {键值} key * param {触发函数} action */ function WatchValueChange(vm, key, action) {var val vm[key]Object.defineProperty(vm, key, {e…

阿里内部流传出来的《1000 道互联网大厂 Java 工程师面试题》来袭,面试必刷,跳槽大厂神器

眼看着"金九银十"也快到来了,很多小伙伴都蠢蠢欲动想要刚给自己涨一波薪资;面试作为涨薪最直接最有效的方式,我们需要花费巨大的精力和时间来准备。除了自身的技术积累之外,掌握一定的面试技巧和熟悉最常见的面试题&…

掌握imgproc组件:opencv-图像轮廓与图像分割修复

图像轮廓与图像分割修复 1.查找并绘制轮廓1.1 寻找轮廓:findContours()函数1.2 绘制轮廓:drawContours()函数1.3 案例程序:轮廓查找 2. 寻找物体的凸包2.1 凸包2.2 寻找凸包:convexHull()函数2.3 案例:寻找和绘制物体的…

【前端|CSS系列第1篇】CSS零基础入门之CSS的基本概念和选择器

欢迎来到CSS零基础入门系列的第一篇博客!在这个系列中,我们将一起学习CSS(层叠样式表)的基础知识,探索如何为网页添加样式和布局。本篇博客将重点介绍CSS的基本概念和选择器,帮助你理解CSS的核心概念。 1.…

MAYA活塞(使用骨骼)

复制骨骼 P父子关系 创建组

根据数组中对象的某个字段分组最简洁方式

使用map数据结构的,键值唯一性进行操作 //根据年龄分组,获取目标数据格式//[{key:key,data:[{}]}]//{key:[]}const arr [{ name:test1,age:10},{ name:test2,age:20},{ name:test3,age:10},{ name:test4,age:20},{ name:test5,age:10},{ name:test6,age…

群晖 NAS WebDAV服务手机ES文件浏览器远程访问

文章目录 1. 安装启用WebDAV2. 安装cpolar3. 配置公网访问地址4. 公网测试连接5. 固定连接公网地址6. 使用固定地址测试连接 转载自cpolar极点云文章:群晖NAS搭建WebDAV服务手机ES文件浏览器远程访问 有时候我们想通过移动设备访问群晖NAS 中的文件,以满足特殊需求,…

centos7安装zabbix v4

1.获取rpm包 wget -c https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm 2.安装 yum install zabbix-release-4.0-2.el7.noarch.rpm -y 3.关防火墙和selinux 4.下载数据库 yum install mariadb -y 5.启动数据库设置密码 …

UE4 Cesium离线生成地形

地理空间数据云 首先进这个网址,下载对应的tif以及高程(DEM) 下载CesiumLab2 在地形切片中点击添加,将黑白图像数据,添加,选择存储类型为散列文件,选择输出路径 再选择影像切片,选择…

Redis 数据类型 | Navicat 数据编辑器

Redis 有别于其他键值(key-value)存储的一个关键特性是它支持多种数据类型,包括字符串(string)、列表(list)、集合(set)、排序集合(sorted set)和…

Sparse Fuse Dense: 向高质量的深度补全3D目标检测迈进

点云的稀疏性:在远距离和遮挡区域提供的信息较差,导致难以生成精确的3D边界框。 出现了多模态融合。 图像和点云的不同表示方式使得它们难以融合,导致性能不佳。 论文提出了一种新颖的多模态框架SFD(Sparse Fuse Dense&#xf…

Docker学习笔记14

容器镜像在Docker host的存储位置: 最上面的层(layer)为读写层,也就是容器。下面的其他的层都是只读层的镜像层。并且除了最下面的一层外,其他的层都有一个指针指向自己下面的一层镜像(联合文件系统&#…