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

【数据分析案列】--- 北京某平台二手房可视化数据分析

一、引言

本案列基于北京某平台的二手房数据,通过数据可视化的方式对二手房市场进行分析。通过对获取的数据进行清冼(至关重要),对房屋价格、面积、有无电梯等因素的可视化展示,我们可以深入了解北京二手房市场的特点和趋势,为购房者和投资者提供有价值的信息和参考。

为了实现这个目标,我们将使用Python编程语言及其相关的数据分析库,包括pandas、matplotlib、seaborn和pyecharts。这些库提供了丰富的功能和工具,使我们能够对数据进行处理、分析和可视化。

二、数据探索和清冼

进行数据探索和清冼的目的主要是因为数据来源并不是官方的,数据中往往存在一些异常情况,这些异常的情况会导致我们分析的结果出现大量的偏差,所以我们需要对爬取的北京二手房数据进行探索的清冼,数据集下载地址:https://download.csdn.net/download/qq_38614074/89017277
废话不多说直接上代码:

  • 1、导入数据探索清冼需要的库
import pandas as pd
  • 2、导入数据进行数据整体的探索
data = pd.read_csv("二手房数据.csv",encoding = 'gb18030')#查看数据的维度
data.shape
#打印数据的前5行
data.head()

在这里插入图片描述

data.info()

在这里插入图片描述
对数据进行整体的探索,我们发现数据集中"11 Unnamed"列好像都是空值,Id列在后续的分析中也使用不到,故后续需要将这两列进行删除; 并且电梯列中有比较多的缺失值,数据中可以看到电梯有8255条数据缺失记录,后续需要进行清冼;

  • 3、数据中字段级别的数据探索
    后续的分析主要是对数据中的一些字段进行可视化分析,所以需要查看不同维度的数据中是否存在一些异常情况(不应该出现出现的情况)

  • 3.1 市区字段分析

data['市区'].value_counts() 

在这里插入图片描述
分析: 在市区列中,存在异常值[‘15’, ‘有电梯’, ‘京师吉地’],且量非常少,不影响这个数据分析,后续需要将这些数据所在的行数据进行删除;

  • 3.2 户型字段分析
 data['户型'].unique()  

在这里插入图片描述
分析:通过unique()我们发现,后续的处理中我们需要房间替换成室,保证数据的一致性,并需要将一些非户型类型的描述给删除,这里主要包括[‘叠拼别墅’,‘有电梯’, ‘京师吉地’]等户型列中的异常值;

  • 3.3 其它字段的分析
# 小区
len(data['小区'].unique()) 
#电梯
data['电梯'].value_counts()
#朝向
data['朝向'].unique()
#楼层
data['楼层'].unique() 
#装修情况
data['装修情况'].value_counts()
#面积
data['面积(㎡)'].unique()
#年份
data['年份'].unique()

分析:
1、小区列中的字段数据过多,此次不在处理,此份数据对分析结果无影响;
2、电梯列中缺失值比较多,后续将列中的数据不是’有电梯’ or’无电梯’的情况全部替换成’未知‘;
3、朝向列中将[‘97’,‘有电梯’,‘京师吉地’]异常值所在的行进行删除;
4、楼层列中将[‘490’, ‘房山’, ‘精装’, ‘朝阳’, ‘有电梯’, ‘京师吉地’]异常值所在的行进行删除;
5、装修情况列中将[‘无电梯’,‘2013’,‘丽水嘉园’,‘长阳国际城三区’,‘有电梯’,‘京师吉地’]异常数据所在的行进行删除;
6、年份列中将[‘1.01E+11’,‘其他’,‘精装’, ‘西南’,‘22’,‘有电梯’, ‘京师吉地’]异常数据所在的行进行删除;
7、面积(㎡)列中将包含中文的行进行删除;
8、价格(万元)列中将[‘光明西里’]异常数据所在的行进行删除;

  • 4、编写最终的清冼代码
    根据上面的分析,编写对应的代码如下
# clean步骤
# 删除指定的列   ['Unnamed: 11', 'Id']
data = data.drop(['Unnamed: 11', 'Id'], axis=1) def remove_outlies(data,col_name='楼层',to_remove = ['490', '房山']):mask = data[col_name].isin(to_remove)  data = data[~mask] return data# 市区列中异常值清冼
data = remove_outlies(data,'市区',['15', '有电梯', '京师吉地'])    
# 电梯列中的数据清冼
data['电梯'] = data['电梯'].apply(lambda x:x if (x=='有电梯' or x=='无电梯') else '未知')  
# 户型列中的数据清冼
data['户型'] = data['户型'].apply(lambda x:x.replace("房间",'室'))
data = remove_outlies(data,'户型',['叠拼别墅','有电梯', '京师吉地'])
# 朝向列中的数据清冼
data = remove_outlies(data,'朝向',['97','有电梯','京师吉地'])
# 楼层列中的数据清冼
data = remove_outlies(data,'楼层',['490', '房山', '精装', '朝阳', '有电梯', '京师吉地'] )
# 装修情况列中的数据清冼
data = remove_outlies(data,'装修情况',['无电梯','2013','丽水嘉园','长阳国际城三区','有电梯','京师吉地'])
# 年份列中的数据清冼
data = remove_outlies(data,'年份',['1.01E+11','其他','精装', '西南','22','有电梯', '京师吉地'])# 面积(㎡)列中的数据清冼
def contains_chinese(s):  if isinstance(s, str):  return any('\u4e00' <= c <= '\u9fff' for c in s)  return False  mask = data['面积(㎡)'].apply(contains_chinese) 
data = data[~mask]  data = remove_outlies(data,'价格(万元)',['光明西里'])
  • 5 将清洗后的数据保存
    将清冼后的数据进行保存,方便后续的分析,不用再重新进行数据的清冼;清冼后的数据下载地址:https://download.csdn.net/download/qq_38614074/89017277
    data.to_csv(‘clean_data.csv’,index=False,encoding=‘utf-8-sig’)

三、数据分析和可视化

在这一部分,你可以逐步介绍你对数据进行的分析和可视化的过程。你可以展示一些关键的图表和图形,并解释它们背后的含义和发现。

加载绘图需要的库:

import pandas as pd
from pyecharts.charts import Map
from pyecharts.charts import Bar
from pyecharts.charts import Line
from pyecharts.charts import Grid
from pyecharts.charts import Pie
from pyecharts.charts import Scatter
from pyecharts import options as opts
from pyecharts.globals import ThemeType
from pyecharts.charts import Geoimport matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['Microsoft YaHei'] # 指定默认字体:解决plot不能显示中文问题
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题

导入清冼后的数据:
data = pd.read_csv(‘clean_data.csv’)
data.describe()
在这里插入图片描述
图中显示北京二手房平均平均总价 609万,平均年份2001年,平均楼层 12-13 层,平均房屋面积 99 m²。另还有标准差、最小值、四分之一分位数、二分之一分位数、四分之三分位数、最大值等信息。
下面从几个点上进行数据可视化:

  • 1)各区二手房数量条形图 ,获取数据中各区信息和对应区的房屋数量,绘制条形图
region_list = data['市区'].value_counts().index.tolist()
house_count_list = data['市区'].value_counts().values.tolist()c = Bar(init_opts=opts.InitOpts(theme=ThemeType.CHALK))
c.add_xaxis(region_list)
c.add_yaxis("北京市", house_count_list)
c.set_global_opts(title_opts=opts.TitleOpts(title="北京各区二手房数量柱状图", subtitle=""),xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(interval=0)))
# c.render("武汉各区二手房数量柱状图.html")
c.render_notebook()

在这里插入图片描述

    1. 北京各个城区二手房价格地图分布
zone_median = data.groupby(['市区'])['价格(万元)'].median()
c = (Geo().add_schema(maptype='北京',itemstyle_opts=opts.ItemStyleOpts(color='#A60B63',border_color='#FFFF22')).add("",[list(z) for z in zip(zone_median.keys().tolist(),zone_median.tolist())]).set_series_opts(label_opts=opts.LabelOpts(is_show=False)).set_global_opts(visualmap_opts=opts.VisualMapOpts(min_=280,max_=720),title_opts=opts.TitleOpts(title="北京各个城区二手房平均价格(万元)", subtitle=""),)
)
c.render_notebook()

在这里插入图片描述

    1. 各区二手房单价箱型图
      统计各区名称信息及对应单价信息,并绘制箱型图。

统计各个区二手房单价信息

unit_price_list = []
for region in region_list:unit_price_list.append(data.loc[data['市区'] == region, '价格(万元)'].values.tolist())# 绘制箱型图
from pyecharts.charts import Boxplotc = Boxplot(init_opts=opts.InitOpts(theme=ThemeType.CHALK))
c.add_xaxis(region_list)
c.add_yaxis("北京市", c.prepare_data(unit_price_list))
c.set_global_opts(title_opts=opts.TitleOpts(title="北京各区二手房总价箱型图"), xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(interval=0)))
# c.render("boxplot_base.html")
c.render_notebook()

在这里插入图片描述

    1. 二手房面积分布与价格关系图
f, [ax1,ax2] = plt.subplots(1, 2, figsize=(16, 6))# 房屋面积
sns.distplot(data['面积(㎡)'], ax=ax1, color='r')
sns.kdeplot(data['面积(㎡)'], shade=True, ax=ax1)
ax1.set_xlabel('面积')# 房屋面积和价格的关系
sns.regplot(x='面积(㎡)', y='价格(万元)', data=data, ax=ax2)
ax2.set_xlabel('面积')
ax2.set_ylabel('总价')plt.show()

在这里插入图片描述

    1. 房屋朝向饼状图
d = data.groupby('朝向')
direction = d.count()['小区']
direction

在这里插入图片描述

from pyecharts.charts import Piec = (Pie().add("",[list(z) for z in zip(direction.keys().tolist(),direction.values.tolist())],radius=["30%", "75%"],).set_global_opts(title_opts=opts.TitleOpts(title="房屋朝向比"),legend_opts=opts.LegendOpts(orient="vertical", pos_top="15%", pos_left="2%"),).set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c} ({d}%)"))
)
c.render_notebook()

在这里插入图片描述
- 6) 各户型横向条形图

series = data['户型'].value_counts()
series.sort_index(ascending=False, inplace=True)
house_type_list = series.index.tolist()
count_list = series.values.tolist()c = Bar(init_opts=opts.InitOpts(theme=ThemeType.CHALK))
c.add_xaxis(house_type_list)
c.add_yaxis("北京市", count_list)
c.reversal_axis()
c.set_series_opts(label_opts=opts.LabelOpts(position="right"))
c.set_global_opts(title_opts=opts.TitleOpts(title="北京二手房各户型横向条形图"),datazoom_opts=[opts.DataZoomOpts(yaxis_index=0, type_="slider", orient="vertical")],)
#c.render("北京二手房各户型横向条形图.html")
c.render_notebook()

在这里插入图片描述

    1. 房屋装修程度饼状图
decoration_list = data['装修情况'].value_counts().index.tolist()
count_list = data['装修情况'].value_counts().values.tolist()from pyecharts.charts import Piec = Pie(init_opts=opts.InitOpts(theme=ThemeType.CHALK))
c.add(series_name="房屋装修",data_pair=[list(z) for z in zip(decoration_list, count_list)],rosetype="radius",radius="55%",center=["50%", "50%"],label_opts=opts.LabelOpts(is_show=False, position="center"))
c.set_global_opts(title_opts=opts.TitleOpts(title="北京二手房房屋装修饼状图",pos_left="center",pos_top="20",title_textstyle_opts=opts.TextStyleOpts(color="#fff")),legend_opts=opts.LegendOpts(is_show=False))
c.set_series_opts(tooltip_opts=opts.TooltipOpts(trigger="item", formatter="{a} <br/>{b}: {c} ({d}%)"),label_opts=opts.LabelOpts(color="rgba(255, 255, 255, 255)"))
# c.render("customized_pie.html")
c.render_notebook()

在这里插入图片描述

    1. 房屋面积分布柱状图
area_level = [0, 50, 100, 150, 200, 250, 300, 350, 400, 1500]
label_level = ['50-100','100-150','150-200','200-250','250-300','300-350','350-400','400-450']
p1 = pd.cut(data['面积(㎡)'],area_level,label_level)
p2 = p1.value_counts()
p3 = p2.values.tolist()
p3
[13647, 5808, 1675, 1561, 541, 217, 93, 54, 53]
c = (Bar().add_xaxis(label_level).add_yaxis("面积(㎡)",p3,color="#7944B7").reversal_axis().set_series_opts(label_opts=opts.LabelOpts(position='right')).set_global_opts(title_opts=opts.TitleOpts(title="房屋面积分布柱状图"),xaxis_opts=opts.AxisOpts(name='数量'),yaxis_opts=opts.AxisOpts(name='面积(㎡)'))
)
c.render_notebook()

在这里插入图片描述

    1. 楼层的分布
 sns.distplot(data['楼层'],color='r')

在这里插入图片描述

    1. 北京市二手房有无电梯的关系(柱状图)和有无电梯和房价的关系(折线图)
df = data[data['电梯']!='未知']sns.barplot(x="市区", y="价格(万元)", hue="电梯", data=df)

在这里插入图片描述
sns.lineplot(x=“市区”, y=“价格(万元)”, hue=“电梯”, data=df)
在这里插入图片描述

    1. 出售房数大于15间且房价均值Top10的小区
df = data['小区'].value_counts().reset_index()  #data['小区']value_counts的结果转成dataframe
df1 = data.groupby(['小区'])['价格(万元)'].mean().reset_index()
df = df.merge(df1,on=['小区'],how='left')
# 筛选出计数大于15的小区  
filtered_counts = df[df['count'] >= 15] 
sorted_counts = filtered_counts.sort_values(by='价格(万元)',ascending=False)[:10]
sorted_counts

在这里插入图片描述
sns.barplot(x=‘小区’,y=‘价格(万元)’,data=sorted_counts)
在这里插入图片描述
本文完整代码下载地址:https://download.csdn.net/download/qq_38614074/89017277

总结:
通过对北京某平台二手房数据的可视化分析,我们可以得出以下结论:

北京二手房市场的价格呈现出明显的分布特点,不同价格区间的房屋数量和价格水平存在差异。

房屋面积在北京二手房市场中也存在一定的分布特点,不同面积区间的房屋数量和面积大小有所差异。

北京各区域的二手房分布不均,一些热门区域的房源较多,价格也相对较高。

这些分析结果可以为购房者提供有价值的信息和参考,帮助他们更好地了解市场情况,做出明智的购房决策。同时,对于投资者来说,这些数据分析也可以提供市场趋势和投资机会的线索。

需要注意的是,本文仅基于某平台的二手房数据进行分析,可能存在一定的局限性。在实际购房或投资决策中,还应综合考虑其他因素,如房屋质量、交通便利性、配套设施等。

通过数据可视化的方式,我们可以更直观地了解和分析二手房市场的情况,为决策者提供更全面的信息支持。希望本文的分析结果对读者有所启发,并在购房或投资过程中起到一定的指导作用。

相关文章:

【数据分析案列】--- 北京某平台二手房可视化数据分析

一、引言 本案列基于北京某平台的二手房数据&#xff0c;通过数据可视化的方式对二手房市场进行分析。通过对获取的数据进行清冼&#xff08;至关重要&#xff09;&#xff0c;对房屋价格、面积、有无电梯等因素的可视化展示&#xff0c;我们可以深入了解北京二手房市场的特点…...

【Golang星辰图】创造美丽图表,洞察数据:解析Go语言中的数据可视化和数据分析库

解锁数据的力量&#xff1a;深入研究Go语言中的数据可视化和数据分析库 前言 本文将介绍Go语言中几个优秀的数据可视化和数据分析库&#xff0c;以帮助开发者更好地处理和分析数据。这些库提供了丰富的功能和工具&#xff0c;可用于创建漂亮的可视化图表、进行数值计算和数据…...

阿里云原生:如何熟悉一个系统

原文地址:https://mp.weixin.qq.com/s/J8eK-qRMkmHEQZ_dVts9aQ?poc_tokenHMA-_mWjfcDmGVW6hXX1xEDDvuJPE3pL9-8uSlyY 导读&#xff1a;本文总结了熟悉系统主要分三部分&#xff1a;业务学习、技术学习、实战。每部分会梳理一些在学习过程中需要解答的问题&#xff0c;这些问题…...

Scala第十一章节(正则表达式和异常处理)

4. 正则表达式 4.1 概述 所谓的正则表达式指的是正确的,符合特定规则的式子, 它是一门独立的语言, 并且能被兼容到绝大多数的编程语言中。在scala中, 可以很方便地使用正则表达式来匹配数据。具体如下: Scala中提供了Regex类来定义正则表达式.要构造一个Regex对象&#xff0…...

Flutter运行MacOs网络请求报错Unhandled Exception: DioException [connection error]:...

报错信息 [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: DioException [connection error]: The connection errored: Connection failed This indicates an error which most likely cannot be solved by the library. Error: SocketException: …...

基于SpringBoot+MyBatis框架的智慧生活商城系统的设计与实现(源码+LW+部署+讲解)

目录 前言 需求分析 可行性分析 技术实现 后端框架&#xff1a;Spring Boot 持久层框架&#xff1a;MyBatis 前端框架&#xff1a;Vue.js 数据库&#xff1a;MySQL 功能介绍 前台功能拓展 商品详情单管理 个人中心 秒杀活动 推荐系统 评论与评分系统 后台功能拓…...

Godot 学习笔记(5):彻底的项目工程化,解决GodotProjectDir is null

文章目录 前言GodotProjectDir is null解决方法解决警告问题根本解决代码问题测试引用其实其它库的输出路径无所谓。 总结 前言 Godot 项目工程化上有一朵乌云&#xff0c;我看Godot的Visual Studio 项目的时候&#xff0c;发现如果是手动新建项目导入Godot包&#xff0c;会导…...

Openharmony

OpenHarmony 是一个开源的、多设备分布式操作系统&#xff0c;由开放原子开源基金会&#xff08;OpenAtom Foundation&#xff09;孵化及运营。它旨在提供跨多种设备的统一开发体验&#xff0c;支持一次开发&#xff0c;多端部署。OpenHarmony 的系统架构遵循分层设计原则&…...

24计算机考研调剂 | 华南师范大学

华南师范大学接收调剂研究生 考研调剂招生信息 学校:华南师范大学 专业:- 年级:2024 招生人数:- 招生状态:正在招生中 联系方式:********* (为保护个人隐私,联系方式仅限APP查看) 补充内容 课题组主要研究生物拉曼光谱技术、基于荧光的微生物快检技术、显微成像设备与相…...

【Node.js】全局变量和全局 API

node 环境中没有 dom 和 bom &#xff0c;此外 es 基本上都是可以正常使用的。 如果一定要使用 dom 和bom&#xff0c;可以借助第三方库 jsdom 帮助我们实现操作。npm i jsdom 实例&#xff1a; const fs require(node:fs) const {JSDOM} require(jsdom)const dom new JS…...

Install Docker

Docker Desktop 直接安装 Docker Desktop Docker Desktop includes the Docker daemon (dockerd), the Docker client (docker), Docker Compose, Docker Content Trust, Kubernetes, and Credential Helper. Linux下安装Docker CE 参考官方文档 参见阿里云的文档 # step 1…...

Orbit 使用指南 10|在机器人上安装传感器 | Isaac Sim | Omniverse

如是我闻&#xff1a; 资产类&#xff08;asset classes&#xff09;允许我们创建和模拟机器人&#xff0c;而传感器 (sensors) 则帮助我们获取关于环境的信息&#xff0c;获取不同的本体感知和外界感知信息。例如&#xff0c;摄像头传感器可用于获取环境的视觉信息&#xff0c…...

GPT系列模型的特点

GPT系列模型&#xff08;包括GPT-1、GPT-2和GPT-3&#xff09;都基于自回归机制的Transformer架构。在设计上&#xff0c;这些模型的核心思想是利用Transformer架构来捕捉整个序列的上下文信息&#xff0c;通过其独特的自回归机制逐步地整合整个序列的完整语义。GPT系列模型的设…...

Oracle Data Guard常用命令

--查询数据库角色和保护模式 select database_role,switchover_status from v$database; --切换备库为主库&#xff08;切换后&#xff0c;主库为mount状态&#xff09; --TO PRIMARY alter database commit to switchover to primary; --SESSIONS ACTIVE alter database comm…...

IM系统设计之websocket消息转发

Websocket消息转发 项目地址&#xff1a;gitgithub.com:muyixiaoxi/Link.git 上周面试被面试官问到&#xff1a;“在分布式IM系统中&#xff0c;如何实现多个websocket集群之间的通信”。 我在思考了良久后回答&#xff1a;“不会”。 随着我的回答&#xff0c;我和面试官的…...

关于vue 的生命周期的教程

Vue.js 是一款流行的前端框架&#xff0c;它提供了丰富的功能和便捷的开发式&#xff0c; 其中生命周期函数是 Vue 组件中非常重要的一部分。 本文将为您详细介绍 Vue 组件的生命周期函数及其执行顺序&#xff0c; 帮助您更好地理解和利用 Vue.js 框架。 什么是 Vue 生命周期 …...

STM32 CAN的工作模式

STM32 CAN的工作模式 正常模式 正常模式下就是一个正常的CAN节点&#xff0c;可以向总线发送数据和接收数据。 静默模式 静默模式下&#xff0c;它自己的输出端的逻辑0数据会直接传输到它自己的输入端&#xff0c;逻辑1可以被发送到总线&#xff0c;所以它不能向总线发送显性…...

Java中的常用类之Math类

Java中的Math类 一、Math类是什么&#xff1f;二、主要方法1.随机数2.绝对值3.向上取值4.向下取值5.四舍五入6.两个值中取大/小的 总结 一、Math类是什么&#xff1f; Math类是Java常用类的一种&#xff0c;主要方法针对于数学方面的运算&#xff0c;类中的所有方法都是static…...

Android冷启动优化

一、应用启动的三种状态 冷启动&#xff1a;系统不存在App进程&#xff08;APP首次启动或APP被完全杀死&#xff09;时启动APP&#xff0c;此时&#xff0c;APP的启动将经历两个阶段&#xff1a; 1、创建app进程&#xff1a;系统启动应用程序进程和虚拟机&#xff0c;创建app…...

jmeter之接口功能自动化

一、接口测试简述 接口&#xff1a;用来连接前端&#xff0c;后端还有移动端的程序模块。由于不同端的工作进度不一样&#xff0c;需要对最开始出来的接口进行接口测试。 接口分类&#xff1a;POST&#xff0c;GET&#xff0c;PUT&#xff0c;DELETE。 POST请求的数据是放在…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点&#xff1a;传参类型必须是类对象 一、BigInteger 1. 作用&#xff1a;适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)

macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 &#x1f37a; 最新版brew安装慢到怀疑人生&#xff1f;别怕&#xff0c;教你轻松起飞&#xff01; 最近Homebrew更新至最新版&#xff0c;每次执行 brew 命令时都会自动从官方地址 https://formulae.…...