【Python 基础 2023 最新】第七课 Pandas

【Python 基础 2022 最新】第七课 Pandas

  • 概述
  • Pandas 是什么?
    • Pandas 的应用场景
    • 安装 Pandas
  • Pandas 数据结构
  • Series 数组
    • 什么是 Series?
    • Series 创建
  • Series 数组操作
    • 数据检索
    • 数据修改
    • 过滤
    • Series 数组运算
    • 总结
  • 什么是 DataFrame
    • DataFrame 创建
  • DataFrame 操作
    • 数据检索
    • 筛选数据
    • 排序
    • 聚合
    • 增删
  • 数据加载
    • CSV 文件加载
    • Excel 文件加载
    • 数据探索
    • 数据清洗
  • 数据合并, 连接与管理
    • 合并
    • 分组与聚合

概述

从今天开始, 小白我将带领大家学习一下 Python 零基础入门的内容. 本专栏会以讲解 + 练习的模式, 带领大家熟悉 Python 的语法, 应用, 以及代码的基础逻辑.
在这里插入图片描述

Pandas 是什么?

Pandas 是一个开源的 Python 数据分析库, 它提供了大量功能, 能够帮助我们轻松的处理结构化数据. 在数据清洗, 转换, 分析中 Pandas 都是我们的得力助手.

Pandas

Pandas 的应用场景

Pandas 的主要应用场景:

  • 数据清洗: 如处理丢失的数据, 过滤数据等
  • 数据转换: 如创建新的数据结构, 聚合数据等
  • 数据分析: 如计算统计量, 对数据进行分组和汇总等
  • 数据可视化: 与其他库 (Matplotlib, Seaborn) 结合, 绘制可视化图表

安装 Pandas

在 cmd 中输入:

pip install pandas

查看是否安装成功:

import pandas as pd

Pandas 数据结构

Pandas 有两个核心的数据结构. “Series” 和 “DataFrame”.

Series 数组

什么是 Series?

Series 是一个一维的标签化数组, Series 它可以容纳任何数据类型 (整型, 字符串, 浮点数, Python 对象等). Series 与普通的 Python 列表相似, 但是具有更多的功能和灵活性.

Series 创建

格式:

pd.Series(data, index=None, dtype=None, name=None, copy=None, fastpath=False)

参数:

  • data: 列表状数据
  • index: 索引, 默认为 None
  • drype: 返回的 Series 数组的类型, 默认为 None
  • name: Series 数组的名字, 默认为 None
  • copy: 复制输入的数据, 默认为 None

例子:

import pandas as pd# 创建 Series 数组
list1 = [1, 2, 3]  # 创建列表
series1 = pd.Series(list1)  # 通过 list 创建 Series 数组
print(series1) # 调试输出import pandas as pd# 创建 Series 数组, 带 Index
student_name = ["张三", "李四", "我是小白呀"]  # 创建学生名字列表, 用于索引学生id
student_id = [1, 2, 3]  # 创建学生 id 列表
series2 = pd.Series(student_id, index=student_name)  # 创建 Series 数组
print(series2)  # 调试输出# 通过字典创建 Series 数组
dict1 = {'a':1,'b':2, 'c':3}  # 创建字典
series3 = pd.Series(dict1)  # 通过字典创建 Series 数组
print(series3)  # 调试输出

输出结果:

0    1
1    2
2    3
dtype: int64
张三       1
李四       2
我是小白呀    3
dtype: int64
a    1
b    2
c    3
dtype: int64

Series 数组操作

数据检索

Series 数组中, 我们可以通过索引来实现数据检索.

例子:

import pandas as pd# 创建 Series 数组, 带 Index
student_name = ["张三", "李四", "我是小白呀"]  # 创建学生名字列表, 用于索引学生id
student_id = [1, 2, 3]  # 创建学生 id 列表
series1 = pd.Series(student_id, index=student_name)  # 创建 Series 数组
print(series1)  # 调试输出# 数据检索
zhangsan_id = series1["张三"]  # 通过索引提取张三对应的 id
lisi_id = series1["李四"]  # 通过索引提取李四对应的 id
iamarookie_id = series1["我是小白呀"]  # 通过索引提取小白对应的 id
print("张三的 id:", zhangsan_id)
print("李四的 id:", lisi_id)
print("张三的 id:", iamarookie_id)# 多重检索
ids = series1[["张三", "李四"]]  # 通过索引提取张三和李四的 id
print("张三 & 李四的 id: \n{}".format(ids))  # 调试输出

输出结果:

张三       1
李四       2
我是小白呀    3
dtype: int64
张三的 id: 1
李四的 id: 2
张三的 id: 3
张三 & 李四的 id: 
张三    1
李四    2
dtype: int64

数据修改

Series 数组中, 可以用过索引来修改 Series 中的数据.

例子:

import pandas as pd# 创建 Series 数组, 带 Index
student_name = ["张三", "李四", "我是小白呀"]  # 创建学生名字列表, 用于索引学生id
student_id = [1, 2, 3]  # 创建学生 id 列表
series1 = pd.Series(student_id, index=student_name)  # 创建 Series 数组
print(series1)  # 调试输出# 数据修改
series1["张三"] = 123  # 将 Series 数组中, 索引张三对应的 id 修改为 123
print(series1)  # 调试输出

输出结果:

张三       1
李四       2
我是小白呀    3
dtype: int64
张三       123
李四         2
我是小白呀      3
dtype: int64

过滤

Series 数组可以用过布尔索引来实现数据过滤.

例子:

import pandas as pd# 创建关于学生成绩的 Series 数组
student_name = ["张三", "李四", "我是小白呀"]  # 创建学生名字列表, 用于索引学生成绩
student_grade = [88, 90, 55]  # 创建学生成绩列表
series1 = pd.Series(student_grade, index=student_name)  # 创建 Series 数组
print(series1)  # 调试输出# 数据修改
result = series1[series1 < 60]
print("成绩不及格的同学: \n{}".format(result))  # 调试输出

输出结果:

张三       88
李四       90
我是小白呀    55
dtype: int64
成绩不及格的同学: 
我是小白呀    55
dtype: int64

Series 数组运算

import pandas as pd# 创建关于学生成绩的 Series 数组
student_name = ["张三", "李四", "我是小白呀"]  # 创建学生名字列表, 用于索引学生成绩
student_grade = [88, 90, 55]  # 创建学生成绩列表
series1 = pd.Series(student_grade, index=student_name)  # 创建 Series 数组
print("加分前: \n{}".format(series1))  # 调试输出# Series 数组运算
series1 = series1 + 5  # 鉴于小白同学不及格, 老师觉得给大家都加 5 分
print("加分后: \n{}".format(series1))  # 调试输出

输出结果:

加分前: 
张三       88
李四       90
我是小白呀    55
dtype: int64
加分后: 
张三       93
李四       95
我是小白呀    60
dtype: int64

总结

Pandas 中的 Series 提供了一种灵活且强大的方式来处理数据. 无论是数据分析, 数据清洗还是数据操作, Series 都是一个非常有用的工具.

什么是 DataFrame

DataFrame 是一个二维的标签化数据结构, 类似于一个 Excel 表格. DataFrame 中的值都是相同长度的 Series, DataFrame 是 Pandas 最常用和强大的数据结构.

DataFrame 创建

通过使用pd.DataFrame函数我们可以创建 DataFrame 数组, DataFrame 可以由多种数据穿点, 如字典, 列表, 或外部文件.

格式:

pd.DataFrame(data=None, index=None, columns=None, dtype=None, copy=None)

参数:

  • data: 列表状数据
  • index: 索引, 默认为 None
  • columns: 列名, 默认为 None
  • detype: 返回的 Series 数组的类型, 默认为 None
  • copy: 复制输入的数据, 默认为 None

例子:

import pandas as pd# 创建 DataFrame 数组
data = {"名字":["张三", "李四", "我是小白呀"], "年龄":[25, 32, 18]}  # 创建字典
df = pd.DataFrame(data)  # 由字典创建 DataFrame 数组
print(df)  # 调试输出

输出结果:

      名字  年龄
0     张三  25
1     李四  32
2  我是小白呀  18

DataFrame 操作

数据检索

通过列名, 我们可以检索 DataFrame 中的数据.

例子:

import pandas as pd# 创建 DataFrame 数组
data = {"名字":["张三", "李四", "我是小白呀"], "年龄":[25, 32, 18]}  # 创建字典
df = pd.DataFrame(data)  # 由字典创建 DataFrame 数组
print(df)  # 调试输出# 检索名字列
name = df["名字"]  # 提取名字列
print("提取名字列: \n{}".format(name))  # 调试输出

输出结果:

      名字  年龄
0     张三  25
1     李四  32
2  我是小白呀  18
提取名字列: 
0       张三
1       李四
2    我是小白呀
Name: 名字, dtype: object

筛选数据

例子:

import pandas as pd# 创建 DataFrame 数组
data = {"名字":["张三", "李四", "我是小白呀"], "年龄":[25, 32, 18]}  # 创建字典
df = pd.DataFrame(data)  # 由字典创建 DataFrame 数组
print(df)  # 调试输出# 检索名字列
name = df["名字"]  # 提取名字列
print("提取名字列: \n{}".format(name))  # 调试输出

输出结果:

import pandas as pd# 创建 DataFrame 数组
data = {"名字":["张三", "李四", "我是小白呀"], "年龄":[25, 32, 18]}  # 创建字典
df = pd.DataFrame(data)  # 由字典创建 DataFrame 数组
print(df)  # 调试输出# 检索名字列
name = df["名字"]  # 提取名字列
print("提取名字列: \n{}".format(name))  # 调试输出

排序

格式:

pd.DataFrame.sort_values(by, *, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last', ignore_index=False, key=None)

参数:

  • axis: 轴, 默认为纵向排序
  • ascending: 从低到高
  • inplace: 替换原本 DataFrame, 默认为 False

例子:

import pandas as pd# 创建 DataFrame 数组
data = {"名字":["张三", "李四", "我是小白呀"], "年龄":[25, 32, 18]}  # 创建字典
df = pd.DataFrame(data)  # 由字典创建 DataFrame 数组
print(df)  # 调试输出# DataFrame 排序
df = df.sort_values(by="年龄")  # 通过布尔条件筛选特定数据
df.reset_index(inplace=True)  # 重新索引
print("排序: \n{}".format(df))  # 调试输出

注: 通过df.reset_index(inplace=True), DataFrame 数组会进行重新索引.

聚合

我们可以对 DataFrame 数字进行各种聚合操作.

例子:

import pandas as pd# 创建 DataFrame 数组
data = {"名字":["张三", "李四", "我是小白呀"], "年龄":[25, 32, 18]}  # 创建字典
df = pd.DataFrame(data)  # 由字典创建 DataFrame 数组
print(df)  # 调试输出# DataFrame 聚合
mean = df["年龄"].mean()  # 通过布尔条件筛选特定数据
print("平均年龄:", mean)  # 调试输出

输出结果:

      名字  年龄
0     张三  25
1     李四  32
2  我是小白呀  18
平均年龄: 25.0

增删

import pandas as pd# 创建 DataFrame 数组
data = {"名字":["张三", "李四", "我是小白呀"], "年龄":[25, 32, 18]}  # 创建字典
df = pd.DataFrame(data)  # 由字典创建 DataFrame 数组
print(df)  # 调试输出# 添加列
data["成绩"] = [78, 82, 60]  # 添加一个新的列, 成绩
print(df)  # 调试输出# 删除列
del data["年龄"]  # 删除年龄列
print(df)

输出结果:

      名字  年龄
0     张三  25
1     李四  32
2  我是小白呀  18名字  年龄
0     张三  25
1     李四  32
2  我是小白呀  18名字  年龄
0     张三  25
1     李四  32
2  我是小白呀  18

数据加载

我们经常会遇到需要从 csv 文件中加塞数据的情况. Pandas 中提供了read_csv方法, 使得我们从 csv 文件中加载数据变得非常简单.

CSV 文件加载

格式:

pandas.read_csv(filepath_or_buffer, *, sep=_NoDefault.no_default, delimiter=None, header='infer', names=_NoDefault.no_default, index_col=None, usecols=None, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, skipfooter=0, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, parse_dates=None, infer_datetime_format=_NoDefault.no_default, keep_date_col=False, date_parser=_NoDefault.no_default, date_format=None, dayfirst=False, cache_dates=True, iterator=False, chunksize=None, compression='infer', thousands=None, decimal='.', lineterminator=None, quotechar='"', quoting=0, doublequote=True, escapechar=None, comment=None, encoding=None, encoding_errors='strict', dialect=None, on_bad_lines='error', delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None, storage_options=None, dtype_backend=_NoDefault.no_default)

参数:

  • filepath_or_buffer: 文件路径
  • header: 表头
  • names: 列名

例子:

import pandas as pd# 读取 txt/csv
data = pd.read_csv("test.txt", header=None, names=["链接"])
print(data)  # 调试输出

输出结果:

                                                  链接
0  http://melanz.phorum.pl/viewtopic.php?f=7&t=64041
1  http://www.reo14.moe.go.th/phpBB3/viewtopic.ph...
2  https://www.xroxy.com/xorum/viewtopic.php?p=30...
3  http://armasow.forumbb.ru/viewtopic.php?id=840...
4  http://telecom.liveforums.ru/viewtopic.php?id=...
5  http://www.crpsc.org.br/forum/viewtopic.php?f=...
6  http://community.getvideostream.com/topic/4803...
7  http://www.shop.minecraftcommand.science/forum...
8  https://www.moddingway.com/forums/thread-31914...
9  https://webhitlist.com/forum/topics/main-featu...

Excel 文件加载

例子:

df = pd.read_excel('path_to_file.xlsx')

数据探索

在 DataFrame 中, 我们可以用过一些函数来查看 DataFrame 数据的基本结构和内容.

常用函数:

  • df.info(): 返回数据基本信息, 包括数据类型, 非空等
  • df.head(): 显示前 5 行
  • df.tail(): 显示最后 5 行
  • df.describe(): 显示基本统计信息, 包括: 如平均值, 标准差, 最小值, 25th, 50th (中位数) 和 75th 百分位数, 最大值等

例子:

import pandas as pd# 读取数据
data = pd.read_csv("students.txt", header=None)
print(data.info())  # 显示总览, 包括每列的数据类型和非空值的数量
print(data.head())  # 显示前 5 行
print(data.tail())  # 显示后 5 行
print(data.describe())  # 显示基本统计信息

调试输出:

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 131 entries, 0 to 130
Data columns (total 2 columns):
0    131 non-null object
1    131 non-null object
dtypes: object(2)
memory usage: 2.1+ KB
None0                   1
0  c1235666 Fink-Nottle      Augustus James
1    c3456765 O'Mahoney            Geoffrey
2       c8732719 De Leo   Victoria Margaret
3     c9676814 Thompson             Sabrina
4         c4418710 Heck               Kevin0                        1
126     c6060052 Long                  Marilyn
127    c2390980 Martz       Perry Tony William
128   c5456142 Wilson          Christine Mabel
129    c1036678 Bunch            Richard Frank
130  c8306065 Hartley   Marcel Jonathan Philip0        1
count             131      131
unique            131      127
top     c3827371 Bush   Thomas
freq                1        2

数据清洗

大多情况下, 数据可能不总是完整的, 所以我们要处理数据丢失. Pandas 提供了多种处理缺失数据的方法.

常用函数:

  • df.dropna(): 删除数据中所有缺失的行
  • ```df.fillna()````: 使用指定的值填充缺失数据

缺失数据处理:

df.dropna()
df.fillna(value)

去重:

df.drop.duplicates()

数据转换:

df['column_name'] = df['column_name'].astype('new_type')  # 转换数据类型
df['new_column'] = df['column1'] + df['column2']

数据合并, 连接与管理

合并

contact()函数可以帮助我们连接两个或者多个数据.

格式:

df.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False,keys=None, levels=None, names=None, verify_integrity=False,sort=None, copy=True)

参数:

  • objs: 需要拼接的数字
  • join: 拼接模式
  • join_axes: 拼接轴

例子:

import pandas as pd# 初始化 DataFrame 数组
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2'],'B': ['B0', 'B1', 'B2']})
df2 = pd.DataFrame({'A': ['A3', 'A4', 'A5'],'B': ['B3', 'B4', 'B5']})
# 调试输出
print(df1)
print(df2)# 进行 concat 连接
result = pd.concat([df1, df2])
print(result)

调试输出:

    A   B
0  A0  B0
1  A1  B1
2  A2  B2A   B
0  A3  B3
1  A4  B4
2  A5  B5A   B
0  A0  B0
1  A1  B1
2  A2  B2
0  A3  B3
1  A4  B4
2  A5  B5

```merge()``函数也可以帮助我们进行合并操作, 类似于 SQL 的 JOIN.

例子:

import pandas as pd# 初始化 DataFrame 数组
left = pd.DataFrame({'key': ['K0', 'K1', 'K2'],'A': ['A0', 'A1', 'A2'],'B': ['B0', 'B1', 'B2']})
right = pd.DataFrame({'key': ['K0', 'K1', 'K2'],'C': ['C0', 'C1', 'C2'],'D': ['D0', 'D1', 'D2']})# 调试输出
print(left)
print(right)# 使用 merge 拼接
result = pd.merge(left, right, on='key')
print(result)

输出结果:

  key   A   B
0  K0  A0  B0
1  K1  A1  B1
2  K2  A2  B2key   C   D
0  K0  C0  D0
1  K1  C1  D1
2  K2  C2  D2key   A   B   C   D
0  K0  A0  B0  C0  D0
1  K1  A1  B1  C1  D1
2  K2  A2  B2  C2  D2

分组与聚合

使用groupby()可以将数组框按列值分组, 然后对每个组应用聚合函数.

例子:

# 初始化 DataFrame 数组
df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar'],'B': [1, 2, 3, 4],'C': [2.0, 3.0, 4.0, 5.0]})
print(df)# 聚合求和
grouped = df.groupby('A').sum()
print(grouped)

调试输出:

# 初始化 DataFrame 数组
df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar'],'B': [1, 2, 3, 4],'C': [2.0, 3.0, 4.0, 5.0]})
print(df)# 聚合求和
grouped = df.groupby('A').sum()
print(grouped)

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

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

相关文章

决策树C4.5算法的技术深度剖析、实战解读

目录 一、简介决策树&#xff08;Decision Tree&#xff09;例子&#xff1a; 信息熵&#xff08;Information Entropy&#xff09;与信息增益&#xff08;Information Gain&#xff09;例子&#xff1a; 信息增益比&#xff08;Gain Ratio&#xff09;例子&#xff1a; 二、算…

密码技术 (6) - 证书

一. 前言 前面介绍的公钥密码和数字签名&#xff0c;都无法解决一个问题&#xff0c;那就是判断自己获取的公钥是否期望的&#xff0c;不能确定公钥是否被中间攻击人掉包。所以&#xff0c;证书的作用是用来证明公钥是否合法的。本文介绍的证书就是解决证书的可靠性的技术。 二…

最新反编译小程序教程(支持分包一键反编译),反编译成功率高达99%

最新反编译小程序教程&#xff08;支持分包一键反编译&#xff09;&#xff0c;反编译成功率高达99% 优点&#xff1a; 1.支持多个分包以及主包一次性反编译&#xff1b; 2.使用wxappUnpacker无法进行解析的小程序包&#xff0c;一键反编译解析&#xff08;咱没有发现反编译失败…

使用ExLlamaV2在消费级GPU上运行Llama2 70B

Llama 2模型中最大也是最好的模型有700亿个参数。一个fp16参数的大小为2字节。加载Llama 270b需要140 GB内存(700亿* 2字节)。 只要我们的内存够大&#xff0c;我们就可以在CPU上运行上运行Llama 2 70B。但是CPU的推理速度非常的慢&#xff0c;虽然能够运行&#xff0c;速度我…

正点原子嵌入式linux驱动开发——TF-A移植

经过了之前的学习&#xff0c;除了TF-A的详细启动流程仍待更新&#xff0c;TF-A的使用和其对应的大致启动流程已经进行过了学习。但是当我们实际做产品时&#xff0c;硬件平台肯定会和ST官方的有区别&#xff0c;比如DDR容量会改变&#xff0c;自己的硬件没有使用到官方EVK开发…

[ruby on rails] postgres sql explain 优化

一、查看执行计划 sql User.all.to_sql # 不会实际执行查询 puts ActiveRecord::Base.connection.explain(sql)# 会实际执行查询&#xff0c;再列出计划 User.all.explain# 会实际执行查询&#xff0c;再列出计划 ActiveRecord::Base.connection.execute(EXPLAIN (ANALYZE, V…

EM聚类(下):用EM算法对王者荣耀英雄进行划分

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ &#x1f434;作者&#xff1a;秋无之地 &#x1f434;简介&#xff1a;CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作&#xff0c;主要擅长领域有&#xff1a;爬虫、后端、大数据…

Vscode 如何创建java项目,并添加包

创建java项目 添加包 先打开这个资源管理器中的javaProject&#xff0c;然后打开这个javaProject&#xff0c;点击里面的Reference Libraries,然后点击加号 选择要添加的包然后进行确认即可

《C和指针》笔记30:函数声明数组参数、数组初始化方式和字符数组的初始化

文章目录 1. 函数声明数组参数2. 数组初始化方式2.1 静态初始化2.2 自动变量初始化 2.2 字符数组的初始化 1. 函数声明数组参数 下面两个函数原型是一样的&#xff1a; int strlen( char *string ); int strlen( char string[] );可以使用任何一种声明&#xff0c;但哪个“更…

小狐狸ChatGPT付费创作系统V2.0.4智能问答小程序,修复一个pc版的bug

狸GPT付费体验系统是一款基于ThinkPHP框架开发的AI问答小程序&#xff0c;是基于国外很火的ChatGPT进行开发的Ai智能问答小程序。 当前全民热议ChatGPT&#xff0c;流量超级大&#xff0c;引流不要太简单&#xff01;一键下单即可拥有自己的GPT&#xff01;无限多开、免费更新不…

OpenCV实现视频的追踪(meanshift、Camshift)

目录 1&#xff0c;meanshift 1.1 算法流程 1.2 算法实现 1.3 代码实现 1.4 结果展示 1&#xff0c;meanshift 1.1 算法流程 1.2 算法实现 1.3 代码实现 import numpy as np import cv2 as cv# 读取视频 cap cv.VideoCapture(video.mp4)# 检查视频是否成功打开 if n…

使用宝塔部署项目

一、在centos服务器上安装宝塔 1、宝塔官方地址 2、在官网上选择在centos上安装的方式 yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec3、复制地址打开宝塔面板 4、登录进去修改登录…

【Diffusion】DDPM - (2)公式推导 之 前向扩散

1、加噪过程 1、将 图像 x 0 x_0 x0​ 像素值映射到 [-1, 1] 之间 x 255 2 − 1 , w h e r e    x 为图像中的像素值 \quad \frac{x}{255} \times 2-1, \quad where \; x 为图像中的像素值 255x​2−1,wherex为图像中的像素值 \quad 2、生成一张尺寸相同的噪声图片,像…

Go应用程序的安全最佳实践

在Go中预防漏洞、保护用户输入和防御代码注入和XSS攻击 在软件开发领域&#xff0c;安全性不是一个简单的事后考虑&#xff0c;而是建立强大和可信赖应用程序的基本基石。确保您的Go应用程序对潜在威胁具有韧性要求全面了解安全最佳实践。本指南深入探讨了您可以采取的重要措施…

程序在线报刊第一期

文章目录 程序在线报刊第一期排序算法&#xff1a;优化数据处理效率的核心技术回顾区块链技术&#xff1a;去中心化引领数字经济新时代展望AI未来&#xff1a;智能化时代的无限可能 程序在线报刊第一期 排序算法&#xff1a;优化数据处理效率的核心技术 近年来&#xff0c;随…

WEEX上线高防系统,防御效果拔群,开启20万U盛大回馈庆典

9 月下旬以来&#xff0c;WEEX 唯客交易所频繁遭受外部恶意攻击&#xff0c;攻击期间多个系统均受到影响&#xff0c;部分服务偶发中断&#xff0c;对用户造成持续的困扰和不便。 攻击方试图通过干扰平台的正常服务&#xff0c;瓦解用户对 WEEX 的信任&#xff0c;借机传播「W…

【Linux】TCP的服务端 + 客户端

文章目录 &#x1f4d6; 前言1. 服务端基本结构1.1 类成员变量&#xff1a;1.2 头文件1.3 初始化&#xff1a;1.3 - 1 全双工与半双工1.3 - 2 inet_aton1.3 - 3 listen 2. 服务端运行接口2.1 accept&#xff1a;2.2 服务接口&#xff1a; 3. 客户端3.1 connect&#xff1a;3.2 …

【论文笔记】SVDM: Single-View Diffusion Model for Pseudo-Stereo 3D Object Detection

原文链接&#xff1a;https://arxiv.org/abs/2307.02270 1. 引言 目前的从单目相机生成伪传感器表达的方法依赖预训练的深度估计网络。这些方法需要深度标签来训练深度估计网络&#xff0c;且伪立体方法通过图像正向变形合成立体图像&#xff0c;会导致遮挡区域的像素伪影、扭…

【匠心打造】从0打造uniapp 可视化拖拽设计 c_o 第十篇

一、click one for uniapp置顶&#xff1a; 全部免费开源 (你商业用途也没关系&#xff0c;不过可以告诉我公司名或者项目名&#xff0c;放在官网上好看点。哈哈-_-) 二、写在之前 距离上一篇更新已经大约4个月了&#xff0c;公司的事情&#xff0c;自己的一些琐事一直没时间…

Linux关于gittee的远端仓库的连接和git三板斧

目录 1.网页操作 2.Linux操作 查看Linux系统中是否安装git指令 安装git指令 链接远端仓库 设置 .gitignore文件 3.git三板斧 1.网页操作 首先我们要在gittee建立一个仓库 这是我自己的勾选方案&#xff0c;大家可以参考一下。 这个方案勾选最下面的三个选项才有&#x…