网站cdn自己做/比百度好用的搜索软件
ChatGPT在数据处理中的应用
今天的这篇文章,让我不断体会AI的强大,愿人类社会在AI的助力下走向更加灿烂辉煌的明天。
扫描下面二维码注册
数据处理是贯穿整个数据分析过程的关键步骤,主要是对数据进行各种操作,以达到最终的分析目的。数据处理主要包括以下几部分。
1.1 概览数据
接下来的操作基于示例表的样例数据展开。这是一个简短的订单明细表,包含订单ID、用户ID、产品ID、订单日期、用户性别、用户年龄这几列。我们先对这份数据进行概览。
订单ID | 用户ID | 产品ID | 订单日期 | 用户性别 | 用户年龄 |
---|---|---|---|---|---|
1001 | 101 | 10001 | 2023-04-01 | 男 | 28 |
1002 | 102 | 10002 | 2023-04-01 | 女 | |
1003 | 103 | 10003 | 2023-04-01 | 男 | 22 |
1004 | 104 | 10001 | 2023-04-01 | 女 | |
1005 | 105 | 10002 | 2023-04-01 | 男 | 45 |
1006 | 106 | 10003 | 2023-04-01 | 女 | 32 |
1007 | 101 | 10001 | 2023-04-02 | 男 | 28 |
1008 | 102 | 10002 | 2023-04-02 | 女 | 35 |
1009 | 103 | 10003 | 2023-04-02 | 男 | 22 |
1010 | 104 | 10001 | 2023-04-02 | 女 | 45 |
此表格由[小蜜蜂AI网站][https://zglg.work]生成。
1.1.1 ChatGPT帮我做
来看第一种实现方式。只需把数据传给ChatGPT,并发出明确的操作指令即可。源数据一般是CSV格式的,我们需要将其以文本格式传入ChatGPT。下面我们向ChatGPT输入具体操作和数据集。
在输入数据时,我们要将CSV文件转换成可以直接输入ChatGPT中的格式。只需将CSV文件用记事本或文本编辑器打开,然后复制粘贴即可。
按照上面的指令,ChatGPT返回如下表所示的结果。
统计指标 | 订单ID | 用户ID | 产品ID | 用户年龄 |
---|---|---|---|---|
数据类型 | 整数 | 整数 | 整数 | 整数 |
非空值个数 | 10 | 10 | 10 | 8 |
均值 | 1005.5 | 102.5 | 10002 | 34.25 |
中位数 | 1005.5 | 102.5 | 10002 | 33.5 |
最小值 | 1001 | 101 | 10001 | 22 |
最大值 | 1010 | 104 | 10003 | 45 |
标准差 | 2.87 | 1.29 | 0.82 | 7.79 |
注:订单日期和用户性别列属于文本型数据,无法进行数值统计。
1.1.2 ChatGPT告诉我
来看第二种实现方式,问ChatGPT用什么工具可以及如何实现某个需求。我们需要把数据结构以及具体需求描述清楚,然后发送给ChatGPT。在Excel中概览数据比较简单,这里不展开了,而主要展示在SQL和Python中如何实现。下面是我们向ChatGPT发送的具体内容。
ChatGPT收到上述内容以后,返回如下结果。
-- SQL结果
SELECTCOUNT(order_id) AS non_null_order_id_count, COUNT(DISTINCT user_id) AS non_null_user_id_count,COUNT(DISTINCT product_id) AS non_null_product_id_count,AVG(order_date) AS avg_order_date,PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY order_date) AS median_order_date,MIN(order_date) AS min_order_date,MAX(order_date) AS max_order_date,AVG(user_age) AS avg_user_age,STDDEV(user_age) AS stddev_user_age
FROMorders;
import pandas as pdorder_df = pd.read_csv('order.csv')result = order_df.describe().transpose()result['non_null'] = order_df.count()
print(result[['non_null', 'mean', '50%','min', 'max', 'std']])# 运行结果如下:non_null mean 50% min max std
订单ID 10 1005.500000 1005.5 1001.0 1010.0 3.027650
用户ID 10 103.100000 103.0 101.0 106.0 1.663330
产品ID 10 10001.900000 10002.0 10001.0 10003.0 0.875595
用户年龄 9 32.444444 32.0 22.0 45.0 8.560244Process finished with exit code 0
在SQL结果中,我没有实际去验证。在Python结果中,使用了describe函数,还是很不错的。我们在Python中概览数据时,就是使用该函数。但是describe函数的结果中已经包含了非空值计数,而ChatGPT又单独计算了一次。
1.2 数据预处理
数据预处理主要包括缺失值填充、重复值删除、异常值删除或替换。接下来看看ChatGPT如何帮助我们完成这项工作。
1.2.1 ChatGPT帮我做
第一种实现方式。下面是我们向ChatGPT输入的具体操作和数据集。
ChatGPT收到上述内容后,给出如下的Python处理代码及结果。
import pandas as pd
import numpy as np# 创建数据集
data = {'订单ID': [1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010],'用户ID': [101, 102, 103, 104, 105, 106, 101, 102, 103, 104],'产品ID': [10001, 10002, 10003, 10001, 10002, 10003, 10001, 10002, 10003, 10001],'订单日期': ['2023-04-01', '2023-04-01', '2023-04-01', '2023-04-01', '2023-04-01', '2023-04-01', '2023-04-02', '2023-04-02', '2023-04-02', '2023-04-02'],'用户性别': ['男', '女', '男', '女', '男', '女', '男', '女', '男', '女'],'用户年龄': [28, 35, 22, np.nan, 45, 32, 28, 35, 22, 45]}df = pd.DataFrame(data)# 找出缺失值并用均值填充
mean_age = df['用户年龄'].mean()
df['用户年龄'] = df['用户年龄'].fillna(mean_age).astype(int)# 去重
df = df.drop_duplicates()# 将年龄大于40的值视作异常并替换为40
df.loc[df['用户年龄'] > 40,'用户年龄'] = 40
df.to_excel('order.xlsx',index=False) # 我个人添加的,其他部分均由ChatGPT生成
订单ID | 用户ID | 产品ID | 订单日期 | 用户性别 | 用户年龄 |
---|---|---|---|---|---|
1001 | 101 | 10001 | 2023-04-01 | 男 | 28 |
1002 | 102 | 10002 | 2023-04-01 | 女 | 35 |
1003 | 103 | 10003 | 2023-04-01 | 男 | 22 |
1004 | 104 | 10001 | 2023-04-01 | 女 | 32 |
1005 | 105 | 10002 | 2023-04-01 | 男 | 40 |
1006 | 106 | 10003 | 2023-04-01 | 女 | 32 |
1007 | 101 | 10001 | 2023-04-02 | 男 | 28 |
1008 | 102 | 10002 | 2023-04-02 | 女 | 35 |
1009 | 103 | 10003 | 2023-04-02 | 男 | 22 |
1010 | 104 | 10001 | 2023-04-02 | 女 | 40 |
ChatGPT没有输出哪一列有缺失值,而是直接对缺失值进行了填充,并对年龄大于40的值进行了替换。总体而言结果符合要求。
1.2.2 ChatGPT告诉我
来看第二种实现方式,把数据结构以及具体要进行的操作描述清楚,然后发给ChatGPT。关于数据预处理,在Excel中实现起来比较简单,而主要展示在SQL和Python中如何实现。下面是我们向ChatGPT发送的具体内容。
ChatGPT收到上述内容后,返回如下结果。
Hive SQL 实现
1. 填充缺失值并返回数据集
-- 使用均值填充缺失值
SELECT 订单ID,用户ID,产品ID,订单日期,用户性别,COALESCE(用户年龄, AVG(用户年龄) OVER ()) AS 用户年龄
FROM your_table;2. 删除重复行后的数据集
-- 删除重复行
CREATE TABLE temp_table AS
SELECT DISTINCT *
FROM your_table;-- 可选步骤:删除原表,重命名临时表为原表名3. 替换异常值后的数据集
-- 替换年龄大于40的异常值为40
UPDATE your_table
SET 用户年龄 = 40
WHERE 用户年龄 > 40;
Python 实现
1. 填充缺失值并返回数据集import pandas as pd# 读取数据
df = pd.read_csv("your_data.csv")# 使用均值填充缺失值
df['用户年龄'] = df['用户年龄'].fillna(df['用户年龄'].mean())2. 删除重复行后的数据集
# 删除重复行
df = df.drop_duplicates()3. 替换异常值后的数据集
# 替换年龄大于40的异常值为40
df.loc[df['用户年龄'] > 40, '用户年龄'] = 40
在SQL结果中,一个语句就实现了填充功能,其他的功能也都轻松搞定。在Python结果中,准确给出了各个操作的函数代码,还是不错的。可以自行体验一下。
1.3 数据选择
数据选择主要是根据实际需求选择特定的行或列。接下来看看ChatGPT如何帮助我们完成这项工作。
1.3.1 ChatGPT帮我做
看看第一种方式,下面是我们向ChatGPT输入的具体操作和数据集。
按照上面的指令,ChatGPT给出如下的Python代码及返回如下所示结果。
import pandas as pd# 创建数据集
data = {'订单ID': [1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010],'用户ID': [101, 102, 103, 104, 105, 106, 101, 102, 103, 104],'产品ID': [10001, 10002, 10003, 10001, 10002, 10003, 10001, 10002, 10003, 10001],'订单日期': ['2023-04-01', '2023-04-01', '2023-04-01', '2023-04-01', '2023-04-01', '2023-04-01', '2023-04-02', '2023-04-02', '2023-04-02', '2023-04-02'],'用户性别': ['男', '女', '男', '女', '男', '女', '男', '女', '男', '女'],'用户年龄': [28, 35, 22, None, 45, 32, 28, 35, 22, 45]
}df = pd.DataFrame(data)# 找出订单日期为“2023-04-01”的女性用户全部订单
filtered_df = df[(df['订单日期'] == '2023-04-01') & (df['用户性别'] == '女')]
print(filtered_df)订单ID 用户ID 产品ID 订单日期 用户性别 用户年龄
1 1002 102 10002 2023-04-01 女 35.0
3 1004 104 10001 2023-04-01 女 NaN
5 1006 106 10003 2023-04-01 女 32.0
可以看到,ChatGPT按照我们的要求完成了任务。
1.3.2 ChatGPT告诉我
看看第二种实现方式。下面是我们向ChatGPT发送的具体内容。
按照上面的指令,ChatGPT返回如下结果。
SQL 结果:
-- 筛选订单日期为“2023-04-01”的女性用户的全部订单
SELECT *
FROM your_table
WHERE 订单日期 = '2023-04-01' AND 用户性别 = '女';
# Python结果
import pandas as pd
# 假设数据已经存储在名为data的pandas DataFrame中
# 如果需要从CSV文件中读取数据,可以使用如下代码:
# data = pd.read_csv('your_csv_file.csv')df = pd.DataFrame(data)# 筛选订单日期为“2023-04-01”的女性用户的全部订单
filtered_df = df[(df['订单日期'] == '2023-04-01') & (df['用户性别'] == '女')]
print(filtered_df)
因为数据选择相关的需求整体比较简单,所以ChatGPT给出的结果都没什么问题。
1.4 数值操作
数值操作主要是对数据进行替换、排序等操作。接下来看看ChatGPT如何帮助我们完成这项工作。
1.4.1 ChatGPT帮我做
看看第一种方式。下面是我们向ChatGPT输入的具体操作和数据集。
ChatGPT收到上述内容后,返回如下结果。
import pandas as pd# 创建数据集
data = {'订单ID': [1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010],'用户ID': [101, 102, 103, 104, 105, 106, 101, 102, 103, 104],'产品ID': [10001, 10002, 10003, 10001, 10002, 10003, 10001, 10002, 10003, 10001],'订单日期': ['2023-04-01', '2023-04-01', '2023-04-01', '2023-04-01', '2023-04-01', '2023-04-01', '2023-04-02', '2023-04-02', '2023-04-02', '2023-04-02'],'用户性别': ['男', '女', '男', '女', '男', '女', '男', '女', '男', '女'],'用户年龄': [28, 35, 22, None, 45, 32, 28, 35, 22, 45]
}df = pd.DataFrame(data)# 替换年龄大于40的值为40
df.loc[df['用户年龄'] > 40, '用户年龄'] = 40# 按订单日期升序排列
df = df.sort_values(by='订单日期')# 新增一列,内容为该用户的上一笔订单日期
df['上一笔订单日期'] = df.groupby('用户ID')['订单日期'].shift(1)df.to_excel('帮我做.xlsx', index=False)
# 返回最终结果
print(df)
可以看到,ChatGPT给出的结果中,年龄已经按要求替换了,订单日期也升序排列了,新的一列也添加成了,而按订单日期升序排列的操作导致新增的这一列看起来有点乱,但结果是正确的。👍👍👍
1.4.2 ChatGPT告诉我
看看第二种方式。下面是我们向ChatGPT发送的具体内容。
ChatGPT收到上述内容后,返回如下结果。
SQL 结果:
-- 1. 将年龄大于40的值替换成40
UPDATE your_table
SET 用户年龄 = 40
WHERE 用户年龄 > 40;-- 2. 将数据按照订单日期进行升序排列
SELECT *
FROM your_table
ORDER BY 订单日期 ASC;-- 3. 新增一列数据,内容为该用户的上一笔订单日期
SELECT *,LAG(订单日期) OVER (PARTITION BY 用户ID ORDER BY 订单日期) AS 上一笔订单日期
FROM your_table;
# Python 结果import pandas as pddata = pd.read_csv('order.csv')
df = pd.DataFrame(data)# 1. 将年龄大于40的值替换成40
df['用户年龄'] = df['用户年龄'].apply(lambda x: min(x, 40))# 2. 将数据按照订单日期进行升序排列
df.sort_values(by='订单日期',inplace=True)# 3. 新增一列数据,内容为该用户的上一笔订单日期
df['上一笔订单日期'] = df.groupby('用户ID')['订单日期'].shift(1)
df.to_excel('帮我做1.xlsx')
print(df)订单ID 用户ID 产品ID 订单日期 用户性别 用户年龄 上一笔订单日期
0 1001 101 10001 2023-04-01 男 28.0 NaN
1 1002 102 10002 2023-04-01 女 35.0 NaN
2 1003 103 10003 2023-04-01 男 22.0 NaN
3 1004 104 10001 2023-04-01 女 NaN NaN
4 1005 105 10002 2023-04-01 男 40.0 NaN
5 1006 106 10003 2023-04-01 女 32.0 NaN
6 1007 101 10001 2023-04-02 男 28.0 2023-04-01
7 1008 102 10002 2023-04-02 女 35.0 2023-04-01
8 1009 103 10003 2023-04-02 男 22.0 2023-04-01
9 1010 104 10001 2023-04-02 女 40.0 2023-04-01
SQL结果的逻辑基本是准确的。这里主要看第三个操作,刚开始的实现逻辑是借助ROW_NUMBER 函数,比较复杂,经过提示可以直接使用LAG函数以后(过程省略),ChatGPT马上给出了正确的答案。
Python结果的实现方式和代码完全正确。
1.5 数值运算
数值运算主要是对数据进行算术运算、比较运算、汇总运算等操作。接下来看看ChatGPT如何帮助我们完成这项工作的。
1.5.1 ChatGPT帮我做
看看第一种实现方式。下面是我们向ChatGPT输入的具体操作和数据集。
ChatGPT收到上述内容后,Python实现代码及返回结果。
import pandas as pd# 创建数据集
data = {'订单ID': [1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010],'用户ID': [101, 102, 103, 104, 105, 106, 101, 102, 103, 104],'产品ID': [10001, 10002, 10003, 10001, 10002, 10003, 10001, 10002, 10003, 10001],'订单日期': ['2023-04-01', '2023-04-01', '2023-04-01', '2023-04-01', '2023-04-01', '2023-04-01', '2023-04-02', '2023-04-02', '2023-04-02', '2023-04-02'],'用户性别': ['男', '女', '男', '女', '男', '女', '男', '女', '男', '女'],'用户年龄': [28, 35, 22, None, 45, 32, 28, 35, 22, 45]
}df = pd.DataFrame(data)# 1. 将订单ID列和产品ID列进行相加,生成新的一列
df['相加结果'] = df['订单ID'] + df['产品ID']# 2. 对用户ID进行非重复值计数
non_duplicate_count = df['用户ID'].nunique()# 返回结果
print("添加相加结果的数据集:")
print(df)
print("\n用户ID的非重复值计数结果:", non_duplicate_count)# 运行结果
添加相加结果的数据集:订单ID 用户ID 产品ID 订单日期 用户性别 用户年龄 相加结果
0 1001 101 10001 2023-04-01 男 28.0 11002
1 1002 102 10002 2023-04-01 女 35.0 11004
2 1003 103 10003 2023-04-01 男 22.0 11006
3 1004 104 10001 2023-04-01 女 NaN 11005
4 1005 105 10002 2023-04-01 男 45.0 11007
5 1006 106 10003 2023-04-01 女 32.0 11009
6 1007 101 10001 2023-04-02 男 28.0 11008
7 1008 102 10002 2023-04-02 女 35.0 11010
8 1009 103 10003 2023-04-02 男 22.0 11012
9 1010 104 10001 2023-04-02 女 45.0 11011用户ID的非重复值计数结果: 6
可以看到,ChatGPT按照我们的要求完成了任务。
1.5.2 ChatGPT告诉我
看看第二种方式。下面是我们向ChatGPT发送的具体内容。
ChatGPT收到上述内容以后,返回如下结果。
# SQL结果
-- 1. 将订单ID列和产品ID列进行相加,生成新的一列
ALTER TABLE your_table ADD COLUMN 相加结果 INT;
UPDATE your_table SET 相加结果 = 订单ID + 产品ID;-- 2. 对用户ID进行非重复值计数,返回计数结果
SELECT COUNT(DISTINCT 用户ID) AS 非重复用户数
FROM your_table;
# Python结果
import pandas as pddata = pd.read_csv('order.csv')
df = pd.DataFrame(data)# 1. 将订单ID列和产品ID列进行相加,生成新的一列
df['相加结果'] = df['订单ID'] + df['产品ID']# 2. 对用户ID进行非重复值计数,返回计数结果
non_duplicate_count = df['用户ID'].nunique()# 返回结果
print("添加相加结果的数据集:")
print(df)
print("\n用户ID的非重复值计数结果:", non_duplicate_count)
上述SQL和Python的实现逻辑都是正确的。因为数值运算整体比较简单,所以这里就不举更多例子了,大家可以根据实际的业务需求进行调整。
1.6 数据分组
数据分组是按照某些维度先对数据进行分组,再对分组后的数据进行汇总运算。接下来看看ChatGPT如何帮助我们完成这项工作。
1.6.1 ChatGPT帮我做
看看第一种方式。下面是我们向ChatGPT输入的具体操作和数据集。
ChatGPT收到上述内容后,返回如下结果。
可以看到,ChatGPT按照我们的要求完成了任务。
1.6.2 ChatGPT告诉我
看看第二种实现方式。下面是我们向ChatGPT发送的具体内容。
ChatGPT收到上述内容后,返回如下结果。
SQL 结果
-- 计算男性和女性的订单数
SELECT 用户性别, COUNT(订单ID) AS 订单数
FROM your_table
GROUP BY 用户性别;-- 计算男性和女性的用户数
SELECT 用户性别, COUNT(DISTINCT 用户ID) AS 用户数
FROM your_table
GROUP BY 用户性别;
# Python结果
import pandas as pddata = pd.read_csv('order.csv')
df = pd.DataFrame(data)# 计算男性和女性的订单数
order_counts = df['用户性别'].value_counts()# 计算男性和女性的用户数
user_counts = df.groupby('用户性别')['用户ID'].nunique()# 返回结果
print("男性和女性各自的订单数:")
print(order_counts)
print("\n男性和女性各自的用户数:")
print(user_counts)# 运行结果如下:
男性和女性各自的订单数:
男 5
女 5
Name: 用户性别, dtype: int64男性和女性各自的用户数:
用户性别
女 3
男 3
Name: 用户ID, dtype: int64
上述SQL和Python的实现逻辑都是正确的
1.7 时间序列分析
时间序列分析的操作主要时间格式互换、时间索引、时间运算等。接下来看看ChatGPT如何帮助我们完成这项工作。
1.7.1 ChatGPT帮我做
看看第一种方式。下面是我们向ChatGPT输入的具体操作和数据集。
ChatGPT收到上述内容后,返回如下所示结果。
1.7.2 ChatGPT帮我做
看看第二种方式,下面我们向ChatGPT发送的具体内容。
ChatGPT收到上述内容后,返回如下结果。
SQL 结果
-- 1. 提取订单日期中的日部分,存储在新的一列中
ALTER TABLE your_table ADD COLUMN 日部分 STRING;
UPDATE your_table SET 日部分 = SUBSTR(订单日期, 9, 2);-- 2. 将订单日期向前滑动30天,存储在新的一列中
ALTER TABLE your_table ADD COLUMN 减去30天日期 STRING;
UPDATE your_table SET 减去30天日期 = FROM_UNIXTIME(UNIX_TIMESTAMP(订单日期) - 30*24*60*60, 'yyyy-MM-dd');-- 3. 将订单日期为“2023-04-01”的数据筛选出来
SELECT *
FROM your_table
WHERE 订单日期 = '2023-04-01';
# Python结果
'''import pandas as pd
from datetime import timedelta# 读取数据集
data = pd.read_csv("order.csv")# 提取订单日期中的日部分
data['日'] = pd.to_datetime(data['订单日期']).dt.day
# 将订单日期转换为日期类型
data['订单日期'] = pd.to_datetime(data['订单日期'])# 向前滑动30天
data['提前30天'] = data['订单日期'] - timedelta(days=30)# 筛选订单日期为“2023-04-01”的数据
filtered_data = data[data['订单日期'] == '2023-04-01']
# 打印结果
filtered_data.to_excel('筛选完.xlsx')'''
import pandas as pddata = pd.read_csv('order.csv')
df = pd.DataFrame(data)# 1. 提取订单日期中的日部分,存储在新的一列中
df['日部分'] = df['订单日期'].str[-2:]# 2. 将订单日期向前滑动30天,存储在新的一列中
df['减去30天日期'] = pd.to_datetime(df['订单日期']) - pd.DateOffset(days=30)# 3. 将订单日期为“2023-04-01”的数据筛选出来
filtered_data = df[df['订单日期'] == '2023-04-01']# 返回结果
print("提取订单日期中的日部分和减去30天日期后的数据集:")
print(df[['订单ID', '用户ID', '产品ID', '订单日期', '用户性别', '用户年龄', '日部分', '提前30天']])
print("\n订单日期为'2023-04-01'的数据:")
print(filtered_data)# 运行结果
订单日期为'2023-04-01'的数据:订单ID 用户ID 产品ID 订单日期 用户性别 用户年龄 日部分 提前30天
0 1001 101 10001 2023-04-01 男 28.0 1 2023-03-02
1 1002 102 10002 2023-04-01 女 35.0 1 2023-03-02
2 1003 103 10003 2023-04-01 男 22.0 1 2023-03-02
3 1004 104 10001 2023-04-01 女 NaN 1 2023-03-02
4 1005 105 10002 2023-04-01 男 45.0 1 2023-03-02
5 1006 106 10003 2023-04-01 女 32.0 1 2023-03-02
上述SQL和Python的实现逻辑都是正确的。
所有示例均可在小蜜蜂AI网站实现,网址:https://zglg.work
扫描下面二维码注册
相关文章:

ChatGPT在数据处理中的应用
ChatGPT在数据处理中的应用 今天的这篇文章,让我不断体会AI的强大,愿人类社会在AI的助力下走向更加灿烂辉煌的明天。 扫描下面二维码注册 数据处理是贯穿整个数据分析过程的关键步骤,主要是对数据进行各种操作,以达到最终的…...

微服务-Alibaba微服务nacos实战
1. Nacos配置中心 1.1 微服务为什么需要配置中心 在微服务架构中,当系统从一个单体应用,被拆分成分布式系统上一个个服务节点后,配置文件也必须跟着迁移(分割),这样配置就分散了,不仅如此&…...

Linux Driver | 设备树开发之初识设备树
Linux Driver | 设备树开发之初识设备树 时间:2024年2月22日20:35:13 文章目录 **Linux Driver** | 设备树开发之初识设备树参考1.设备树开发2.`Linux`设备树的由来3.`Linux`设备树的由来-为什么会有设备树4.设备树的由来5.快速编译设备树---**DTC** (`device tree compiler`)…...

2月24日(周六)比赛前瞻:曼联 VS 富勒姆、拜仁 VS 莱比锡
大家好,博主将持续更新胜负14场前瞻,此处每日赛事间歇更新,胃信号每日更新。 精选赛事:曼联 VS 富勒姆 曼联近期状态显著提升,上一轮联赛客场2-1战胜卢顿,连续7场正赛取得6胜1平的成绩,保持不败…...

React18源码: task任务调度和时间分片
任务队列管理 调度的目的是为了消费任务,接下来就具体分析任务队列是如何管理与实现的 在 Scheduler.js 中,维护了一个 taskQueue, 任务队列管理就是围绕这个 taskQueue 展开 // Tasks are stored on a min heap var taskQueue - []; var timerQueue …...

【工具类】阿里域名关联ip(python版)
获取代码如下 # codingutf-8import argparse import json import urllib import logging# 加载 ali 核心 SDK from aliyunsdkcore.client import AcsClient from aliyunsdkalidns.request.v20150109 import (DescribeSubDomainRecordsRequest,AddDomainRecordRequest,UpdateDo…...

STM32自学☞输入捕获测频率和占空比案例
本文是通过PA0口输出PWM波,然后通过PA6口捕获PWM波的频率和占空比,最终在oled屏上显示我们自己设置的频率和占空比。由于和前面的pwm呼吸灯代码有重合部分所以本文中的代码由前者修改而来,对于文件命名不要在意。 pwm_led.c文件 /* 编写步…...

[yolov9]使用python部署yolov9的onnx模型
【框架地址】 https://github.com/WongKinYiu/yolov9 【yolov9简介】 在目标检测领域,YOLOv9 实现了一代更比一代强,利用新架构和方法让传统卷积在参数利用率方面胜过了深度卷积。 继 2023 年 1 月 正式发布一年多以后,YOLOv9 终于来了&a…...

ShellExecute的用法
1、标准用法 ShellExecute函数原型及参数含义如下: function ShellExecute(hWnd: HWND; Operation, FileName, Parameters,Directory: PChar; ShowCmd: Integer): HINST; stdcall; ●hWnd:用于指定父窗口句柄。当函数调用过程出现错误时,它将…...

蓝桥杯:递增三元组
题目 递增三元组(2018年蓝桥杯真题) 题目描述: 给定三个整数数组 A [A1, A2, … AN], B [B1, B2, … BN], C [C1, C2, … CN], 请你统计有多少个三元组(i, j, k) 满足: 1 < i, j, k < N Ai < Bj &…...

目标检测卷王YOLO卷出新高度:YOLOv9问世
论文摘要:如今的深度学习方法重点关注如何设计最合适的目标函数,使得模型的预测结果能够最接近真实情况。 同时,必须设计一个适当的架构,可以帮助获取足够的信息进行预测。 现有方法忽略了一个事实,即当输入数据经过逐层特征提取和空间变换时,大量信息将会丢失。 本文将深…...

华为---RSTP(二)---RSTP基本配置示例
目录 1. 示例要求 2. 网络拓扑图 3. 配置命令 4. 测试终端连通性 5. RSTP基本配置 5.1 启用STP 5.2 修改生成树协议模式为RSTP 5.3 配置根交换机和次根交换机 5.4 设置边缘端口 6. 指定端口切换为备份端口 7. 测试验证网络 1. 示例要求 为防止网络出现环路…...

【Python笔记-设计模式】装饰器模式
一、说明 装饰器模式是一种结构型设计模式,旨在动态的给一个对象添加额外的职责。 (一) 解决问题 不改变原有对象结构的情况下,动态地给对象添加新的功能或职责,实现透明地对对象进行功能的扩展。 (二) 使用场景 如果用继承来扩展对象行…...

二十八、图像的高斯模糊操作
项目功能实现:对一张图片进行高斯模糊操作 按照之前的博文结构来,这里就不在赘述了 更多的图像模糊操作原理可参考博文:七、模糊操作,里面有详细原理讲解,只不过代码是python写的。 一、头文件 gaussian_blur.h #p…...

开源分子对接程序rDock的安装及使用流程
欢迎浏览我的CSND博客! Blockbuater_drug …点击进入 前言 本文介绍开源分子对接程序rDock在Linux Ubuntu 22.04系统上的conda安装、编译安装过程及程序使用流程。 一、rDock是什么? rDock来源 rDock是一个快速、多功能的开源对接程序,可用…...

【JavaEE】_tomcat的安装与使用
目录 1. Tomcat简介 2. Tomcat安装 2.1 下载Tomcat并解压缩 2.2 启动Tomcat 2.2.1 Tomcat乱码问题 2.2.2 Tomcat闪退问题 2.3 访问Tomcat欢迎页面 3. 使用Tomcat部署前端代码 3.1 路径匹配 3.2 文件路径访问与网络访问 4. 静态页面与动态页面 5. 基于tomcat的网站后…...

实现一个Windows环境一键启停Oracle的bat脚本
Oracle数据库有许多优点,其中一些最重要的包括: 可靠性和稳定性: Oracle数据库经过长期的发展和测试,被广泛认为是非常可靠和稳定的数据库管理系统。它在大型企业和关键业务环境中被广泛应用,能够处理高负载和大规模的数据。 高性能: Oracle数据库具有优化的查询处理器和…...

大数据-数据可视化-环境部署vue+echarts+显示案例
文章目录 一、安装node.js1 打开火狐浏览器,下载Node.js2 进行解压3 配置环境变量4 配置生效二、安装vue脚手架1 下载vue脚手架,耐心等待。三、创建vue项目并启动1 创建2 启动四、下载echarts.js与axios.js到本地。五、图表显示demo【以下所有操作均在centos上进行】 一、安…...

spark超大数据批量写入redis
利用spark的分布式优势,一次性批量将7000多万的数据写入到redis中。 # 配置spark接口 import os import findspark from pyspark import SparkConf from pyspark.sql import SparkSession os.environ["JAVA_HOME"] "/usr/local/jdk1.8.0_192"…...

C# Socket的使用
C# 中的 System.Net.Sockets.Socket 类是 .NET Framework 提供的核心类,用于处理网络套接字编程。Socket 类是用于网络编程的基础类,它位于 System.Net.Sockets 命名空间中。 使用 Socket 类,可以创建客户端和服务器应用程序来进行基于TCP、…...

Spring Cloud + Vue前后端分离-第17章 生产打包与发布
源代码在GitHub - 629y/course: Spring Cloud Vue前后端分离-在线课程 Spring Cloud Vue前后端分离-第17章 生产打包与发布 17-1 注册中心配置中心Nacos 注册中心 Nacos 快速开始 | Nacos 本节内容:使用nacos作注册中心配置中心,不用eureka Nacos…...

力扣热题100_普通数组_56_合并区间
文章目录 题目链接解题思路解题代码 题目链接 56. 合并区间 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区…...

Springcloud OpenFeign 的实现(二)
Springcloud OpenFeign 的实现(一) 一、Feign request/response 压缩 您可以考虑为您的外部请求启用请求或响应GZIP压缩。您可以通过启用以下属性之一来完成此操作: feign.compression.request.enabledtrue feign.compression.response.en…...

[C++]智能指针用法
一、智能指针存在的意义 智能指针主要解决以下问题: (1)内存泄漏:内存手动释放,使用智能指针可以自动释放。 (2)共享所有权指针的传播和释放,比如多线程使用同一个对象时析构问题…...

六、行列式基本知识
目录 1、行列式的特性 2、行列式的计算方法: 2.1 通过行列式的定义去计算:对角法则。 2. 2 利用行列式的性质将行列式转化为上三角行列式: ①行列式的性质 : 性质一: 性质二: 性质三: 性质四:行列式之间的加法...

中断系统(详解与使用)
讲解 简介 中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。 假设一个人在家看电视,这时候突然门铃响了,这个人此时就要停止看电视去开门,然后关上门后继续回来…...

uniapp开发微信小程序跳转到另一个小程序中
注意:一开始我的云上务工模块是单独的tabbar界面,但是小程序跳转好像不能直接点击tabbar进行,所以我将这里改成了点击首页中的按钮进行跳转 点击这里进行小程序跳转 目录 基础讲解 uniapp小程序跳转的两个方法 调用说明(半屏跳转…...

chatGPT 使用随想
一年前 chatGPT 刚出的时候,我就火速注册试用了。 因为自己就是 AI 行业的,所以想看看国际上最牛的 AI 到底发展到什么程度了. 自从一年前 chatGPT 火出圈之后,国际上的 AI 就一直被 OpenAI 这家公司引领潮流,一直到现在&#x…...

unity Aaimation Rigging使用多个约束导致部分约束失去作用
在应用多个约束时,在Hierarchy的顺序可能会影响最终的效果。例如先应用了Aim Constraint,然后再应用Two Bone Constraint,可能会导致Two Bone Constraint受到Aim Constraint的影响而失效。因此,在使用多个约束时,应该仔…...

什么是ChatGPT
国外有篇文章解释了ChatGPT的开发技术是什么,GPT-3和GPT-4的区别,以及未来的可能性。 截至 2023 年,ChatGPT 等生成式 AI 服务正在全球引起关注,并且正在探索在广泛领域的应用。 您可能想知道 ChatGPT 是使用哪种开发技术制作的&a…...