当前位置: 首页 > news >正文

Pandas04

Pandas01
Pandas02
Pandas03

文章目录

    • 内容回顾
    • 1 数据的合并和变形
      • 1.1 df.append (了解)
      • 1.2 pd.concat
      • 1.3 merge 连接 类似于SQL的join
      • 1.4 join (了解)
    • 2 变形
      • 2.1 转置
      • 2.2 透视表
    • 3 MatPlotLib数据可视化
      • 3.1 MatPlotLib API 套路 &为什么要可视化
      • 3.2 单变量可视化
      • 3.3 双变量可视化 散点图
    • 4 pandas绘图
      • 4.1 pandas绘图的API说明
      • 4.2 Pandas 绘图 柱状图
      • 4.3 饼图
      • 4.4 散点图和气泡图
      • 4.5 箱线图
      • 4.6 蜂巢图

内容回顾

计算函数 排序/相关

  • corr()
  • sort_values() 多字段排序 ascending = []

缺失值处理

  • NaN
  • df.isnull().sum()
  • pd.read_XXX(keep_default_na, na_values = )
  • df.fillna(method = ffill /bfill) df.interpolate
  • df.dropna(subset =[])

数据类型

  • datetime
    • 日期时间列, 整列数据获取时间相关的属性, s.dt.
      • datetime64
      • timedelta64
    • 时间点
      • TimeStamp
    • 日期时间索引
      • DatetimeIndex
      • TimedeltaIndex
      • 利用日期时间索引进行切片之前一定先排序
  • category
    • pd.cut()可以得到一个category类型, 和字符串之间的差异, 会指定顺序, 排序的时候会按照顺序排序

分组分箱

  • 分组

    • df.groupby(‘分组字段’)[‘聚合字段’].聚合函数()
    • df.groupby(‘分组字段’).agg({})
  • 分箱

    • pd.cut()

1 数据的合并和变形

1.1 df.append (了解)

在2.0的版本 已经被删除了

df1.append(df2) 
# df1后面追加一些新的行, df1和df2的数据, 
# 如果列名相同就能够追加到一起, 如果列名不同, 拼接不上的部分用NaN填充

1.2 pd.concat

多张表, 通过行名/列名字 作为拼接的条件

pd.concat([df1,df2,…], axis = , join=‘’)

  • axis 控制按行拼接 还是按列拼接
    • axis = 0 使用列名(coloumns)对齐, 列名相同的拼到一起, 竖向拼接
    • axis = 1 使用行名(index)对齐, 行名相同的拼到一起, 横向拼接
  • join
    • 默认 outer 所有的数据都会保留, 拼接不起来的部分缺少的数据用NaN填充
    • 可选 inner 只会保留能拼接起来的部分, 行名/列名不同的删除
pd.concat([df1, df2], axis=1,ignore_index = True) 

ignore_index 拼接之后忽略之前的索引重新给从0开始的索引

1.3 merge 连接 类似于SQL的join

# 写法1
df1.merge(df2, on='列名', how='固定值')
# 写法2
pd.merge(df1, df2, on='列名', how='固定值')
  • merge函数有2种常用参数,参数说明如下

    • 参数on='列名',表示基于哪一列的列值进行合并操作
    • 参数how='固定值',表示合并后如何处理行索引,固定参数具体如下:
      • how='left' 对应SQL中的left join,保留左侧表df1中的所有数据
      • how='right' 对应SQL中的right join,保留右侧表df2中的所有数据
      • how='inner' 对应SQL中的inner,只保留左右两侧df1和df2都有的数据
      • how='outer' 对应SQL中的join,保留左右两侧侧表df1和df2中的所有数据
  • merge横向连接多个关联数据集具体使用

    df3 = pd.merge(df1, df2, how='left', on='x1')
    df4 = pd.merge(df1, df2, how='right', on='x1')
    df5 = pd.merge(df1, df2, how='inner', on='x1')
    df6 = pd.merge(df1, df2, how='outer', on='x1')
    
df1.merge(df2, left_on='x1', right_on='x4', how='inner',suffixes=('_left', '_right'))

如果要关联的两张表使用的列名不一样, 通过left_on 和 right_on 来指定
left_on 左表出哪一列用于关联
right_on 右表出哪一列用于关联

suffixes 后缀, 当关联结果中,出现了同名的字段, 用于区分哪个字段来自于哪一张表, 默认是(’ _ x’, ‘_ y’)

1.4 join (了解)

默认写法

df1.join(df3,rsuffix='_right',lsuffix='_left',how='outer')

横向左右拼接, 使用df1 和 df3的index 进行对齐

作用和 pd.concat([df1,df3],axis = 1) 完全相同 可以通过pd.concat进行替换

还可以传一个参数on

df1.join(df2,on='x1' ,rsuffix='_right',lsuffix='_left')

df1 x1这一列, 和df2的索引(index) 进行对齐

rsuffix 关联结果中 右表后缀 lsuffix 左表的后缀

当关联结果中,出现了同名的字段, 用于区分哪个字段来自于哪一张表

这种关联方式, 可以通过把df2的索引变成一列(reset_index) 再走merge来实现

2 变形

2.1 转置

df.T

2.2 透视表

每个城市线下门店各种品类商品总销售额

uniqlo_df = pd.read_csv('C:/Develop/深圳42/data/uniqlo.csv')
# 每个城市线下门店各种品类商品总销售额
uniqlo_df_offline = uniqlo_df[uniqlo_df['销售渠道']=='线下']
# 分组聚合的写法
uniqlo_df_offline.groupby(['城市','产品名称'])['销售金额'].sum().reset_index()
# 数据透视表
uniqlo_df_offline.pivot_table(index='城市',columns='产品名称',values='销售金额',aggfunc='sum')

透视表和分组聚合作用是一样的, 只不过展示的形式有差异

index columns 指定是是分组字段

  • index 在结果中以行索引形式展示的字段名称
  • columns 在结果中以列名的形式展示的字段名称

values 指定的是聚合字段

aggfunc 指定的是聚合方法

在这里插入图片描述

index columns values aggfunc 都可以传入列表

  • 不建议传入太多的字段, 结果过于复杂不方便处理结果

3 MatPlotLib数据可视化

3.1 MatPlotLib API 套路 &为什么要可视化

x = [-3, 5, 7] #准备数据的x轴坐标
y = [10, 2, 5] #准备数据的y轴坐标
# 创建绘图区域
plt.figure(figsize=(10,6))
# 画图
plt.plot(x,y)
# 对图形的美化, 坐标轴, 标题 ..
plt.xlabel('x_axis', size=18)
plt.ylabel('y_axis',size=12)
plt.title('line plot')
# 显示
plt.show()

面向对象的API 效果跟上面是一样的

x = [-3, 5, 7] #准备数据的x轴坐标
y = [10, 2, 5] #准备数据的y轴坐标
# 创建绘图区域
fig,ax = plt.subplots(figsize=(10,6))
# 画图
ax.plot(x,y)
ax.set_xlabel('x_axis', size=18)
ax.set_ylabel('y_axis',size=12)
ax.set_title('line plot')
# 显示
plt.show()

通过图片理解数据中的规律效率更高
使用合适的图表, 更容易发现数据中的规律

什么时候画图

  • 报告, 文档, 图更容易用来支持观点
  • 在理解不熟悉的业务时, 通过画图可以快速的发现一些规律

数据可视化优势举例 anscombe数据集

anscombe = pd.read_csv('C:/Develop/深圳42/data/anscombe.csv')

anscombe 一共四份, 通过describe()方法, 发现经常查看的几个统计量, 大小差不多, 似乎数据的分布是差不多的

dataset_1 = anscombe[anscombe['dataset']=='I']
dataset_2 = anscombe[anscombe['dataset']=='II']
dataset_3 = anscombe[anscombe['dataset']=='III']
dataset_4 = anscombe[anscombe['dataset']=='IV']

画图发现规律

plt.rcParams['font.sans-serif'] = ['SimHei'] # 中文显示问题
fig = plt.figure(figsize=(16,8))
axes1 = fig.add_subplot(221) # 2行 2列 第一个框
axes2 = fig.add_subplot(222) # 2行 2列 第二个框
axes3 = fig.add_subplot(223)
axes4 = fig.add_subplot(224)
axes1.plot(dataset_1['x'],dataset_1['y'],'o') # plot 绘制折线图, 'o' 点不连起来
axes2.plot(dataset_2['x'],dataset_2['y'],'o')
axes3.plot(dataset_3['x'],dataset_3['y'],'o')
axes4.plot(dataset_4['x'],dataset_4['y'],'o')
fig.suptitle('可视化必要性')
plt.show()

在这里插入图片描述

3.2 单变量可视化

变量是连续型的, 单变量看分布,需要绘制直方图 hist

plt.figure(figsize=(10,6))
plt.hist(tips_df['total_bill'],bins=10)

bins 把tips_df[‘total_bill’]数据分成了10组 下面就是分组的边界

array([ 3.07 , 7.844, 12.618, 17.392, 22.166, 26.94 , 31.714, 36.488,41.262, 46.036, 50.81 ])

统计每一组中数据的条目数:

array([ 7., 42., 68., 51., 31., 19., 12., 7., 3., 4.]),

每个柱子的高度就是每组数据条目的数量

通过直方图可以了解到在不同组中哪一组数据多哪一组数据少, 就是数据的分布情况\

在这里插入图片描述

3.3 双变量可视化 散点图

变量是连续型的, 两个连续型的变量, 想看他们之间的关系, 需要绘制散点图 scatter

plt.figure(figsize=(10,8))
plt.scatter(tips_df['total_bill'],tips_df['tip'])
plt.title('账单和小费关系图')
plt.show()

在这里插入图片描述

从图中可以发现, 随着账单金额的增加, 小费呈增加的趋势

可以通过计算相关系数进行验证

tips_df.corr()

在这里插入图片描述

4 pandas绘图

4.1 pandas绘图的API说明

pandas的绘图功能实际上调用了MatPlotLib

df[‘列名’].plot.XXX() df[‘列名’].plot(kind=‘XXX’)

df.plot.XXX() df.plot(kind=‘XXX’)

  • XXX 图形的种类 line折线 hist 直方 scatter 散点 bar 柱状图 pie饼图

  • 画图的时候, 默认是使用index作为X轴的坐标, 也可以指定, x,y

city_df = pd.read_csv('C:/Develop/深圳42/data/city_day.csv')
# 获取数据前30条
temp_df = city_df.head(30)
# 日期作为index 用日期作为X轴的数据
temp_df.set_index('Date',inplace=True)
# 对SO2 绘制折线图, 看SO2 随时间的波动
temp_df['SO2'].plot(figsize=(20,10),grid=True)

在这里插入图片描述

import matplotlib.pyplot as plt
# 筛选两列数据, 这两列数据都会被画到图里
temp_df[['SO2','O3']].plot(kind='line',figsize=(20,10),grid=True)
plt.show()

在这里插入图片描述

折线图的使用场景

  • 某个变量随时间的波动情况

4.2 Pandas 绘图 柱状图

不同的类别在一起进行比较

tips_df.groupby('sex')['tip'].mean().plot.bar()

对比男性女性 给小费的水平 (性别分组对小费求平均)

在这里插入图片描述

tips_df.groupby('day')['total_bill'].mean().plot.bar()

统计消费者在周几更愿意花钱 (每周不同日期的平均消费情况)

在这里插入图片描述

tips_df.pivot_table(index='day',columns='sex',values='total_bill',aggfunc='mean').plot.bar()

对比男性女性在每周中不同天, 花钱的情况

在这里插入图片描述

从上面的例子中可以看出, pandas绘制柱状图

  • 索引(index)决定了有几组柱子
  • column 数量决定了每组柱子里有几个不同的柱子(进行比较)
  • 值决定了柱子的高度
tips_df.pivot_table(index='day',columns='sex',values='total_bill',aggfunc='mean')

在这里插入图片描述

柱状图的其它画法 barh 横向柱状图 stacked = True 堆叠柱状图(每组柱子不同类别会堆在一起)

tips_df.pivot_table(index='time',columns='sex',values='total_bill',aggfunc='count').plot.barh(stacked=True)

在这里插入图片描述

4.3 饼图

整体和部分之间的占比关系

tips_df.groupby(['day'])['total_bill'].sum().plot.pie(autopct='%1.2f%%',figsize=(20,10))
# 假设 消费数据就是一家餐馆一周的营业数据, 统计每天的销售额占比情况,这个时候就可以绘制饼图
# 每天的销售额加到一起构成了这一周总销售额

autopct=‘%1.2f%%’ 加上这个参数会在饼的每一部分加上百分比的数字

在这里插入图片描述

4.4 散点图和气泡图

散点图添加一个参数 s 控制点的半径大小, 这样就可以多表示一个维度的数据, 加上了这个参数的散点图也可以叫做气泡图

tips_df.plot.scatter(x='total_bill',y='tip',figsize=(10,8),s=tips_df['size']*30)
plt.show()

这里使用用参数人数 * 30 作为气泡的半径大小

在这里插入图片描述

4.5 箱线图

在这里插入图片描述

4.6 蜂巢图

作用类似于散点图, 可以看两个连续性变量的关系, 通过蜂巢图可以表示出数据的分布情况, 颜色较深的区域分布的数据量比较大, 颜色浅的区域分布的数据量比较小

movie_df = pd.read_csv('C:/Develop/深圳42/data/movie.csv')
# 加载电影数据
movie_df.plot.scatter(x='gross',y='imdb_score',figsize=(10,8))
# 绘图查看评分和收入之间是否有关系

在这里插入图片描述

在6~8分, 收入在1一个亿一下, 的区域, 分布了很多数据, 只通过散点图, 无法反应数据量的分布情况, 此时可以再绘制一个蜂巢图

movie_df.plot.hexbin(x='gross',y='imdb_score',figsize=(10,8),gridsize=15)

在这里插入图片描述

从上图中, 看出, 颜色比较深的部分数据量比较大, 主要集中在 6到7分, 收入在6千万以下

df.plot.XXX()

  • line 折线 (多列 多条线)
  • hist 直方 (一列)
  • scatter 散点图 (x,y)
  • bar 柱状图 (多列, 多个柱子)
  • pie 饼图 (一列)
  • boxplot 箱型图 箱线图 (相对也会少一些)
  • hexbin 蜂巢图 (了解)

若有错误与不足请指出,关注DPT一起进步吧!!!

相关文章:

Pandas04

Pandas01 Pandas02 Pandas03 文章目录 内容回顾1 数据的合并和变形1.1 df.append (了解)1.2 pd.concat1.3 merge 连接 类似于SQL的join1.4 join (了解) 2 变形2.1 转置2.2 透视表 3 MatPlotLib数据可视化3.1 MatPlotLib API 套路 &为什么要可视化3.2 单变量可视化3.3 双变量…...

农历节日倒计时:基于Python的公历与农历日期转换及节日查询小程序(升级版)

农历节日倒计时:基于Python的公历与农历日期转换及节日查询小程序升级版 调整的功能 上一个小程序只是能计算当年的农历节日的间隔时间,那么这次修改一下,任意年份的农历节日都可以,并且能输出农历节日对应的阳历日期&#xff0…...

c语言中void关键字的含义和用法

在 C 语言中&#xff0c;void 是一个特殊的关键字&#xff0c;主要有以下几个用途&#xff1a; 1. 表示函数没有返回值 当一个函数不需要返回任何值时&#xff0c;可以将其返回类型声明为 void。 #include <stdio.h>void printMessage() {printf("Hello, World!\…...

安卓音频之dumpsys audio

目录 概述 详述 dumpsys audio 1、音频服务生命周期的事件日志 2、音频焦点事件日志 3、音频流音量信息 4、音量组和设备的相关信息 5、铃声模式 6、音频路由 7、其他状态信息 8、播放活动监控信息 9、录音活动记录 10、AudioDeviceBroker 的记录 11、音效&#…...

玩客云v1.0 刷机时无法识别USB

v1.0刷机时公对公插头掉了&#xff0c;刷机失败&#xff0c;再次刷机&#xff0c;一直提示无法识别的USB设备&#xff0c;此时LED一直不亮&#xff0c;就像是刷成砖了一样&#xff0c;查了好多文章最后发现正面还有一个地方需要短接。 背面的短接点 【免费】玩客云刷机包s805-…...

影刀进阶指令 | Kimi (对标ChatGPT)

文章目录 影刀进阶指令 | Kimi &#xff08;对标ChatGPT&#xff09;一. 需求二. 流程三. 实现3.1 流程概览3.2 流程步骤讲解1\. 确定问题2\. 填写问题并发送3\. 检测答案是否出完 四. 运维 影刀进阶指令 | Kimi &#xff08;对标ChatGPT&#xff09; 简单讲讲RPA调用kimi实现…...

前端项目 node_modules依赖报错解决记录

1.首先尝试解决思路 npm报错就切换yarn &#xff0c; yarn报错就先切换npm删除 node_modules 跟 package-lock.json文件重新下载依 2. 报错信息&#xff1a; Module build failed: Error: Missing binding D:\vue-element-admin\node_modules\node-sass\vendor\win32-x64-8…...

数据科学团队管理

定位&#xff1a; 有核心竞争力的工业算法部门与PM、RD等深度合作 业务方向&#xff1a;(不同产品线&#xff09; 工业预测性维护与数据挖掘视觉检测、OCR 工作内容 项目需求与交付内部框架(frameworks \packages)应用demo专利、竞赛、论文 日常管理 项目管理数据管理(原…...

一个简单的机器学习实战例程,使用Scikit-Learn库来完成一个常见的分类任务——**鸢尾花数据集(Iris Dataset)**的分类

机器学习实战通常是将理论与实践结合&#xff0c;通过实际的项目或案例&#xff0c;帮助你理解并应用各种机器学习算法。下面是一个简单的机器学习实战例程&#xff0c;使用Scikit-Learn库来完成一个常见的分类任务——**鸢尾花数据集&#xff08;Iris Dataset&#xff09;**的…...

攻防世界web第二题unseping

这是题目 <?php highlight_file(__FILE__);class ease{private $method;private $args;function __construct($method, $args) {$this->method $method;$this->args $args;}function __destruct(){if (in_array($this->method, array("ping"))) {cal…...

动手学深度学习-深度学习计算-3延后初始化

目录 实例化网络 小结 到目前为止&#xff0c;我们忽略了建立网络时需要做的以下这些事情&#xff1a; 我们定义了网络架构&#xff0c;但没有指定输入维度。 我们添加层时没有指定前一层的输出维度。 我们在初始化参数时&#xff0c;甚至没有足够的信息来确定模型应该包含…...

Linux | 零基础Ubuntu搭建JDK

目录 软件简介 在线文档 压缩包安装 下载地址 补:传输软件 传输等待 目录结构 解压安装 配置环境 更新环境 测试JDK结果 APT安装 软件简介 Java Development Kit (JDK) 是 Sun 公司&#xff08;已被 Oracle 收购&#xff09;针对 Java 开发员的软件开发工具包。自…...

Android `android.graphics` 包深度解析:架构与设计模式

Android android.graphics 包深度解析:架构与设计模式 目录 引言android.graphics 包概述核心类与架构 CanvasPaintBitmapColorPathShaderMatrix设计模式在 android.graphics 中的应用 工厂模式装饰者模式策略模式享元模式高级图形处理技术 硬件加速离屏渲染自定义 View 中的…...

WPF使用OpenCvSharp4

WPF使用OpenCvSharp4 创建项目安装OpenCvSharp4 创建项目 安装OpenCvSharp4 在解决方案资源管理器中&#xff0c;右键单击项目名称&#xff0c;选择“管理 NuGet 包”。搜索并安装以下包&#xff1a; OpenCvSharp4OpenCvSharp4.ExtensionsOpenCvSharp4.runtime.winSystem.Man…...

你不需要对其他成年人的情绪负责

在这个纷繁复杂的世界里&#xff0c;每个人都是独一无二的个体&#xff0c;背负着各自的故事、梦想与烦恼。在人际交往的广阔舞台上&#xff0c;我们时常会遇到这样的情境&#xff1a;朋友、同事、家人&#xff0c;甚至是陌生人&#xff0c;他们的情绪似乎总能不经意间影响到我…...

25秋招面试总结

秋招从八月底开始&#xff0c;陆陆续续面试了不少&#xff0c;现在也是已经尘埃落定&#xff0c;在这里做一些总结一些我个人的面试经历 腾讯 腾讯是我最早面试的一家&#xff0c;一开始捞我面试的是数字人民币&#xff0c;安全方向的岗位&#xff0c;属于腾讯金融科技这块。…...

高斯核函数(深入浅出)

目录 定义及数学形式主要特点应用示例小结 高斯核函数&#xff08;Gaussian Kernel&#xff09;&#xff0c;又称径向基核&#xff08;Radial Basis Function Kernel&#xff0c;RBF Kernel&#xff09;&#xff0c;是机器学习与模式识别中最常用的核函数之一。它通过在高维空间…...

支付宝百宝箱 工具,快速上手制作一个agent

作品&#xff1a;历史上的今天-作文素材积累 Datawhale 动手学AI Agent 关键词&#xff1a;AI助手开发、LangGPT框架 链接&#xff1a;百宝箱百宝箱平台是一款可以提供一站式 AI 原生应用的开发平台&#xff0c;您无需具有任何代码基础&#xff0c;只需通过自然语言即可三步完…...

六十:HTTP/2与gRPC框架

随着互联网技术的发展&#xff0c;应用程序之间的通信需求日益复杂和多样化。传统的HTTP/1.x协议虽然广泛应用&#xff0c;但在性能和功能方面已经难以满足现代应用的需求。为了解决这些问题&#xff0c;HTTP/2协议和基于其之上的gRPC框架应运而生。本文将介绍HTTP/2协议的特点…...

1.RPC基本原理

文章目录 RPC1.定义2.概念3.优缺点4.RPC结构5.RPC消息协议5.1 消息边界5.2 内容5.3 压缩 6.RPC的实现6.1 divide_protocol.py6.2 server.py6.3 client.py RPC 1.定义 远程过程调用(remote procedure call) 2.概念 广义:所有通过网络进行通讯,的调用统称为RPC调用 狭义:不采…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例&#xff0c;模拟20个网页的爬取&#xff0c;每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程&#xff1a;允许程序同时执行多个任务&#xff0c;提高IO密集型任务&#xff08;如网络请求&#xff09;的效率…...

【JavaSE】多线程基础学习笔记

多线程基础 -线程相关概念 程序&#xff08;Program&#xff09; 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序&#xff0c;比如我们使用QQ&#xff0c;就启动了一个进程&#xff0c;操作系统就会为该进程分配内存…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机&#xff0c;它可以执行Java字节码。Java虚拟机是Java平台的一部分&#xff0c;Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

多模态图像修复系统:基于深度学习的图片修复实现

多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...

jdbc查询mysql数据库时,出现id顺序错误的情况

我在repository中的查询语句如下所示&#xff0c;即传入一个List<intager>的数据&#xff0c;返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致&#xff0c;会导致返回的id是从小到大排列的&#xff0c;但我不希望这样。 Query("SELECT NEW com…...

OCR MLLM Evaluation

为什么需要评测体系&#xff1f;——背景与矛盾 ​​ 能干的事&#xff1a;​​ 看清楚发票、身份证上的字&#xff08;准确率>90%&#xff09;&#xff0c;速度飞快&#xff08;眨眼间完成&#xff09;。​​干不了的事&#xff1a;​​ 碰到复杂表格&#xff08;合并单元…...