使用pandas进行数据分析

文章目录

  • 1.pandas的特点
  • 2.Series
    • 2.1新建Seriws
    • 2.2使用标签来选择数据
    • 2.3 通过指定位置选择数据
    • 2.4 使用布尔值选择数据
    • 2.5 其他操作
      • 2.5.1 修改数据
      • 2.5.2 统计操作
      • 2.5.3 缺失数据处理
  • 3.DataFrame
    • 3.1 新建 DataFrame
    • 3.2 选择数据
      • 3.2.1 使用标签选择数据
      • 3.2.2 使用 iloc 选择数据
      • 3.2.3 使用指定列名选择数据
      • 3.2.4 使用布尔值选择数据
    • 3.3 修改数据
    • 3.4 统计操作
    • 3.5 处理缺失数据
  • 4.读取格式各样的数据
    • 4.1 读取 CSV 格式文件
    • 4.2 读取 Excel 文件
    • 4.3 读取 SQL 文件
    • 4.4 读取 HTML 文件
  • 5.数据预处理
    • 5.1 使用布尔值筛选数据
    • 5.2 使用 where 方法筛选数据
    • 5.3 修改数据
    • 5.4 缺失值处理
    • 5.5 排序
  • 6.统计计算
    • 6.1 常见的统计函数
        • 描述性统计
        • 分布和形状
        • 相关性
        • 自定义统计
    • 6.2 快速统计汇总
  • 7.交叉统计
    • 7.1 使用 groupby() 统计
    • 7.2 使用 pivot_table() 统计
  • 8.时间序列的数据处理
    • 8.1 使用时间序列数据的函数
    • 8.2 DatetimeIndex
    • 8.3 筛选时间序列数据
    • 8.4 采样

pandas是具有非常直观且容易操作的索引数据的python第三方软件包。pandas主要有两种数据结构,分别是Series和DataFrame,其广泛用于金融、统计、社会科学等领域的数据分析工作。

1.pandas的特点

  1. 数据结构
    • DataFrame:类似于 Excel 表格,可以存储不同类型的数据列。
    • Series:一维数组,可以存储任何数据类型(整数、字符串、浮点数、Python 对象等)。
  2. 数据操作
    • 支持大量的数据操作,包括数据清洗、处理缺失数据、重采样时间序列数据等。
    • 提供了丰富的数据对齐和集成处理功能。
  3. 数据索引
    • 支持多种索引方式,包括时间戳、整数索引、标签索引等。
    • 可以对数据进行高效的切片、筛选和分组。
  4. 时间序列功能
    • 强大的时间序列功能,可以轻松处理和分析时间序列数据。
  5. 数据合并
    • 提供了多种数据合并和连接工具,如 mergejoin 和 concat
  6. 数据分组
    • 通过 groupby 功能,可以对数据进行分组,并应用聚合函数。
  7. 数据重塑
    • 支持 pivotmelt 等操作,可以轻松地重塑数据结构。
  8. 处理大数据
    • 虽然 Pandas 不是为处理大规模数据集而设计的,但它可以与 Dask 等库结合使用,以处理超出内存限制的大型数据集。
  9. 集成性
    • 可以与 NumPy、SciPy、Matplotlib、Scikit-learn 等其他 Python 数据科学库无缝集成。
  10. 性能
    • 底层使用 Cython 和 C 语言编写,提供了快速的数据操作性能。
  11. 易用性
    • 提供了直观的 API,使得数据操作和分析变得简单直观。
  12. 文档和社区
    • 拥有详细的官方文档和活跃的社区,用户可以轻松找到帮助和资源。

2.Series

在 Pandas 库中,Series 是一种一维数组结构,可以存储任何数据类型(整数、字符串、浮点数、Python 对象等)。它类似于 Python 中的列表(list)或 NumPy 的一维数组,但 Series 更加强大,因为它可以存储不同的数据类型,并且每个元素都有一个标签(称为索引)。

2.1新建Seriws

可以使用pandas.Series类来新建Series,第一个参数可以带入(列表、元组、字典、numpy.ndarry)等数据。

ser = pd.Series([1,2,3,4,5],index=list('abcde'))  
ser

如果省略index的话会默认从0开始创建索引

pd.Series([1,2,3,4,5])

2.2使用标签来选择数据

使用loc方法可以根据标签来选择数据

#指定标签  
print(ser.loc['b'])  
  
#不使用loc  
print(ser['b'])  
  
#指定标签范围  
print(ser.loc['a':'c'])

你已经很好地概述了 Pandas 中 Series 的创建和基本访问方法。下面我将补充一些细节和额外的操作,以帮助你更好地理解 Series 的使用。

2.3 通过指定位置选择数据

在 Pandas 中,除了使用标签(索引)来选择数据外,还可以通过位置(整数索引)来选择数据。这与 Python 列表的索引类似。以下是一些示例:

import pandas as pd

# 创建 Series
ser = pd.Series([1, 2, 3, 4, 5], index=list('abcde'))

# 使用位置选择第一个元素
print(ser.iloc[0])  # 输出: 1

# 使用位置选择多个元素
print(ser.iloc[0:3])  # 输出: a    1, b    2, c    3

# 使用位置选择最后一个元素
print(ser.iloc[-1])  # 输出: 5

2.4 使用布尔值选择数据

布尔索引是 Pandas 中非常强大的一个功能,它允许你根据条件选择数据。以下是一些示例:

import pandas as pd

# 创建 Series
ser = pd.Series([1, 2, 3, 4, 5], index=list('abcde'))

# 使用布尔索引选择大于2的元素
print(ser[ser > 2])

# 使用布尔索引选择小于等于3的元素
print(ser[ser <= 3])

2.5 其他操作

2.5.1 修改数据

你可以直接通过索引来修改 Series 中的数据:

ser['a'] = 10  # 修改索引为 'a' 的元素
print(ser)

2.5.2 统计操作

Series 提供了许多内置的统计方法,如 sum(), mean(), max(), min(), std(), var() 等:

print(ser.sum())  # 求和
print(ser.mean())  # 求平均值
print(ser.max())  # 求最大值
print(ser.min())  # 求最小值
print(ser.std())  # 标准差
print(ser.var())  # 方差

2.5.3 缺失数据处理

如果 Series 中包含缺失值(NaN),Pandas 提供了多种处理方法,如 dropna(), fillna() 等:

ser = pd.Series([1, 2, None, 4, 5])
print(ser.dropna())  # 删除缺失值

ser.fillna(0, inplace=True)  # 将缺失值填充为0
print(ser)

这些操作使得 Series 成为一个非常灵活和强大的数据结构,适用于各种数据分析任务。

3.DataFrame

DataFrame 是 Pandas 中的另一个核心数据结构,它是一个二维表格型数据结构,可以被看作是由多个 Series 组成的(每个 Series 作为 DataFrame 的一列),所有 Series 共享一个索引。

3.1 新建 DataFrame

DataFrame 可以通过多种方式创建,例如从字典、列表、NumPy 数组、已有的 DataFrame 或者直接从数据文件(如 CSV)中读取。

import pandas as pd

# 从字典创建 DataFrame
data = {'Name': ['John', 'Anna', 'Peter', 'Linda'],
        'Age': [28, 23, 34, 29],
        'City': ['New York', 'Paris', 'Berlin', 'London']}
df = pd.DataFrame(data)
print(df)

# 从列表创建 DataFrame
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
df = pd.DataFrame(data, columns=['A', 'B', 'C'])
print(df)

# 从 NumPy 数组创建 DataFrame
import numpy as np
data = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
df = pd.DataFrame(data, columns=['A', 'B', 'C'])
print(df)

3.2 选择数据

3.2.1 使用标签选择数据

使用 .loc 可以基于标签选择数据。它允许你选择行和列。

# 选择行标签为 'John' 的行
print(df.loc[df['Name'] == 'John'])

# 选择列 'Age' 和 'City'
print(df.loc[:, ['Age', 'City']])

3.2.2 使用 iloc 选择数据

使用 .iloc 可以基于整数位置选择数据。它允许你选择行和列。

# 选择第一行
print(df.iloc[0])

# 选择前两行和前两列
print(df.iloc[:2, :2])

3.2.3 使用指定列名选择数据

直接使用列名可以快速选择列。

# 选择 'Age' 列
print(df['Age'])

3.2.4 使用布尔值选择数据

布尔索引允许你根据条件选择行。

# 选择 'Age' 大于 25 的行
print(df[df['Age'] > 25])

3.3 修改数据

修改 DataFrame 中的数据与 Series 类似,可以直接通过标签或位置进行修改。

# 修改 'John' 的 'City' 为 'Los Angeles'
df.loc[df['Name'] == 'John', 'City'] = 'Los Angeles'
print(df)

3.4 统计操作

DataFrame 提供了丰富的统计方法,可以对整个数据框或特定的列进行操作。

# 计算每列的描述性统计
print(df.describe())

# 计算 'Age' 列的平均值
print(df['Age'].mean())

3.5 处理缺失数据

Series 类似,DataFrame 也支持多种处理缺失数据的方法。

# 添加缺失值
df.loc[3, 'Age'] = None

# 删除包含缺失值的行
print(df.dropna())

# 填充缺失值
df.fillna(value=30, inplace=True)
print(df)

DataFrame 是进行数据科学和分析工作时非常强大的工具,它提供了灵活的数据操作和分析功能。

4.读取格式各样的数据

Pandas 提供了多种函数来读取不同格式的数据文件,这些函数使得数据导入变得非常简单和直接。以下是一些常用的数据读取方法:

4.1 读取 CSV 格式文件

CSV(逗号分隔值)文件是一种常见的数据交换格式。Pandas 的 read_csv 函数可以轻松读取 CSV 文件。

import pandas as pd

# 读取 CSV 文件
df = pd.read_csv('path_to_file.csv')

# 显示前几行数据
print(df.head())

read_csv 函数提供了许多参数来处理不同的 CSV 格式,例如指定分隔符、处理缺失值、选择特定的列等。

4.2 读取 Excel 文件

Excel 文件是一种广泛使用的电子表格格式。Pandas 的 read_excel 函数可以用来读取 Excel 文件。

# 读取 Excel 文件
df = pd.read_excel('path_to_file.xlsx')

# 显示前几行数据
print(df.head())

read_excel 函数允许你指定工作表、读取特定的单元格范围等。

4.3 读取 SQL 文件

Pandas 可以通过 SQL Alchemy 连接到数据库,并使用 read_sqlread_sql_query 函数读取 SQL 数据。

from sqlalchemy import create_engine
import pandas as pd

# 创建数据库连接引擎
engine = create_engine('database_connection_string')

# 读取 SQL 查询结果
df = pd.read_sql_query('SELECT * FROM table_name', con=engine)

# 显示前几行数据
print(df.head())

这里需要一个有效的数据库连接字符串,以及对应的数据库驱动。

4.4 读取 HTML 文件

Pandas 的 read_html 函数可以解析 HTML 中的 <table> 标签,并将其转换为 DataFrame 对象。

# 读取 HTML 文件
df = pd.read_html('path_to_file.html')

# df 是一个 DataFrame 列表,选择第一个 DataFrame
df = df[0]

# 显示前几行数据
print(df.head())

read_html 函数会尝试找到 HTML 文件中所有的 <table> 标签,并返回一个包含所有表格数据的 DataFrame 列表。

在读取这些文件时,Pandas 允许你指定各种参数来处理文件中的特定格式,例如编码、列名、数据类型等。这些函数大大简化了从不同数据源导入数据的过程。

5.数据预处理

数据预处理是数据分析和机器学习项目中的关键步骤,Pandas 提供了多种工具来帮助我们完成这些任务。以下是一些常见的数据预处理技术:

5.1 使用布尔值筛选数据

布尔索引允许我们根据条件筛选数据。我们可以对 DataFrameSeries 使用布尔表达式来选择满足条件的行或列。

import pandas as pd

# 假设我们有以下 DataFrame
df = pd.DataFrame({
    'Age': [25, 30, 35, 40, 45],
    'Name': ['John', 'Anna', 'Peter', 'Linda', 'Michael']
})

# 使用布尔值筛选年龄大于 30 的人
filtered_df = df[df['Age'] > 30]
print(filtered_df)

5.2 使用 where 方法筛选数据

where 方法可以根据一个条件表达式来过滤数据,返回一个满足条件的布尔型 DataFrameSeries

# 使用 where 方法筛选年龄大于 30 的人
filtered_df = df.where(df['Age'] > 30)
print(filtered_df)

where 方法返回的结果是对原始数据的布尔型掩码,如果需要替换不满足条件的值,可以结合 fillnamask 方法使用。

5.3 修改数据

直接通过标签或位置修改数据。

# 修改特定行的数据
df.loc[df['Name'] == 'John', 'Age'] = 28

# 修改特定列的数据
df['Age'] = df['Age'] + 1
print(df)

5.4 缺失值处理

缺失值处理是数据预处理中的一个重要部分。Pandas 提供了多种方法来处理缺失值。

# 删除包含缺失值的行
df_cleaned = df.dropna()

# 填充缺失值
df_filled = df.fillna(value=0)
print(df_filled)

还可以使用 interpolate 方法来进行插值填充。

5.5 排序

排序是数据分析中的常见操作,Pandas 提供了 sort_values 方法来对数据进行排序。

# 按年龄升序排序
sorted_df = df.sort_values(by='Age')

# 按年龄降序排序
sorted_df_desc = df.sort_values(by='Age', ascending=False)
print(sorted_df)
print(sorted_df_desc)

排序时可以指定多个列,并设置是否升序或降序。

这些是数据预处理中常用的一些操作,Pandas 提供的这些功能使得数据清洗和准备变得非常高效和方便。

6.统计计算

统计计算是数据分析中的核心部分,Pandas 提供了丰富的函数来进行描述性统计分析。以下是一些常用的统计计算方法:

6.1 常见的统计函数

描述性统计
  • count(): 计算非NA/null值的数量。
  • mean(): 计算平均值。
  • median(): 计算中位数。
  • min()max(): 计算最小值和最大值。
  • std()var(): 计算标准差和方差。
  • sum(): 计算总和。
  • size(): 返回数据的总大小。
import pandas as pd

# 创建一个简单的 DataFrame
df = pd.DataFrame({
    'A': [1, 2, 3, 4, 5],
    'B': [10, 20, 30, 40, 50]
})

# 计算描述性统计
print(df.describe())
分布和形状
  • skew(): 计算偏度(数据分布的不对称性)。
  • kurt(): 计算峰度(数据分布的“尾部”程度)。
print(df.skew())
print(df.kurt())
相关性
  • corr(): 计算列之间的相关系数。
print(df.corr())
自定义统计
  • agg(): 允许应用多个统计函数。
print(df.agg(['mean', 'max', 'min']))

6.2 快速统计汇总

Pandas 的 describe() 方法可以快速提供一个数据框的汇总统计,包括平均值、标准差、最小值、最大值等。

# 对整个 DataFrame 进行描述性统计
print(df.describe())

# 对指定列进行描述性统计
print(df[['A', 'B']].describe())

describe() 方法默认计算数值列的统计信息,但也可以用于字符串类型的列,此时会显示计数、唯一值数量、最常见值等信息。

对于分类数据,可以使用 value_counts() 方法来查看每个类别的频率。

# 假设我们有一个分类列
df['Category'] = ['A', 'B', 'A', 'C', 'B']
print(df['Category'].value_counts())

统计计算是数据分析的基础,Pandas 提供的这些功能使得从数据中提取有意义的统计信息变得非常简单。通过这些统计函数,我们可以快速了解数据的分布、中心趋势和离散程度。

7.交叉统计

在 Pandas 中,groupby()pivot_table() 是两个非常强大的工具,它们可以帮助我们对数据进行分组和汇总统计。

7.1 使用 groupby() 统计

groupby() 方法允许我们根据一个或多个键将数据分组,然后对每个组应用聚合函数,如 sum()mean()count() 等。

import pandas as pd

# 创建一个示例 DataFrame
df = pd.DataFrame({
    'Category': ['A', 'B', 'A', 'B', 'C', 'A', 'B', 'C'],
    'Values': [10, 20, 30, 40, 50, 60, 70, 80]
})

# 根据 'Category' 列分组,并计算每个组的总和
grouped_sum = df.groupby('Category')['Values'].sum()
print(grouped_sum)

# 可以同时应用多个聚合函数
grouped_stats = df.groupby('Category')['Values'].agg(['sum', 'mean', 'count'])
print(grouped_stats)

groupby() 也可以用于多级分组,即根据多个列进行分组。

# 假设我们有另一个列 'Subcategory'
df['Subcategory'] = ['X', 'X', 'Y', 'Y', 'X', 'Y', 'X', 'Y']
grouped_multi = df.groupby(['Category', 'Subcategory'])['Values'].sum()
print(grouped_multi)

7.2 使用 pivot_table() 统计

pivot_table() 方法类似于 groupby(),但它提供了更多的灵活性,允许我们重新排列数据,创建一个透视表,其中指定的列成为行和列索引,而其他列则用于计算值。

# 创建透视表,以 'Category' 为行索引,'Subcategory' 为列索引,计算 'Values' 的总和
pivot_table = df.pivot_table(index='Category', columns='Subcategory', values='Values', aggfunc='sum')
print(pivot_table)

pivot_table() 方法非常灵活,可以处理多个聚合函数,并且可以填充缺失值,处理缺失的组合等。

# 创建透视表,并填充缺失值
pivot_table_filled = df.pivot_table(index='Category', columns='Subcategory', values='Values', aggfunc='sum', fill_value=0)
print(pivot_table_filled)

pivot_table() 还允许我们指定多个聚合函数,并对结果进行进一步的处理。

# 创建透视表,并应用多个聚合函数
pivot_table_multi = df.pivot_table(index='Category', columns='Subcategory', values='Values', aggfunc=['sum', 'mean'])
print(pivot_table_multi)

这些工具在数据分析中非常有用,特别是当你需要对数据进行分组分析或创建复杂的汇总报表时。通过 groupby()pivot_table(),我们可以轻松地对数据进行多维度的探索和分析。

8.时间序列的数据处理

时间序列数据是一系列按照时间顺序排列的数据点。在金融、气象、经济和其他许多领域中,时间序列分析是一个重要的分析工具。Pandas 提供了强大的工具来处理时间序列数据。

8.1 使用时间序列数据的函数

Pandas 提供了一系列专门用于处理时间序列数据的函数。这些函数可以帮助我们对时间序列数据进行索引、重采样、移动窗口统计等操作。

import pandas as pd
import datetime as dt

# 创建时间序列数据
dates = pd.date_range('20230101', periods=6)
values = [10, 20, 25, 30, 40, 50]
ts = pd.Series(values, index=dates)

# 访问时间序列数据
print(ts)

# 时间序列的日期偏移
ts_1day_later = ts.shift(1)
print(ts_1day_later)

# 时间序列的滚动统计
rolling_mean = ts.rolling(window=3).mean()
print(rolling_mean)

8.2 DatetimeIndex

DatetimeIndex 是 Pandas 中专门用于时间序列的索引对象。它能够处理日期和时间数据,并提供丰富的时间序列功能。

# 创建 DatetimeIndex
index = pd.DatetimeIndex(['2023-01-01', '2023-01-02', '2023-01-03'])

# 将 DatetimeIndex 设置为范围
date_range = pd.date_range(start='2023-01-01', end='2023-01-10', freq='D')

# 创建时间序列数据
ts_with_range = pd.Series(range(10), index=date_range)
print(ts_with_range)

8.3 筛选时间序列数据

可以使用 DatetimeIndex 来筛选时间序列数据。

# 筛选特定时间段的数据
selected_ts = ts['2023-01-02':'2023-01-04']
print(selected_ts)

8.4 采样

时间序列数据的采样是指从时间序列中提取特定时间点的数据。Pandas 允许我们使用 resample 方法对时间序列数据进行采样。

# 重采样时间序列数据
resampled_ts = ts.resample('D').mean()  # 每日平均值
print(resampled_ts)

# 可以指定不同的频率
resampled_ts_monthly = ts.resample('M').mean()  # 每月平均值
print(resampled_ts_monthly)

在处理时间序列数据时,Pandas 提供的这些工具可以帮助我们有效地管理和分析数据。通过时间序列分析,我们可以识别数据中的模式、趋势和季节性变化,这对于预测和决策制定非常有价值。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Web高级开发实验:EL基本运算符与数据访问

一、实验目的 掌握EL的定义&#xff0c;即Expression Language&#xff0c;用于提高编程效率。学习和掌握在开发环境中创建Java文件&#xff0c;并在jsp文件中使用EL表达式去调用其中的方法与属性等。 二、实验所用方法 上机实操 三、实验步骤及截图 1、创建javaweb项目&a…

力扣刷题(sql)--零散知识点(1)

通过一段时间的刷题&#xff0c;感觉自己的sql能力逐渐上去&#xff0c;所以不会像前三道题一样讲那么详细了&#xff0c;这里主要会讲到一些特殊的知识点和方法。另外&#xff0c;我的建议是做完一个题有好的想法赶紧记录下来&#xff0c;不要想着最后汇总&#xff0c;不然会懒…

基于SSM平面设计课程在线学习系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;学生管理&#xff0c;教师管理&#xff0c;课程类型管理&#xff0c;课程学习管理&#xff0c;试题讲解管理&#xff0c;作业信息管理 前台账号功能包括&#xff1a;系统首页&#xff0c;个人中心&…

Vue3实现获取验证码按钮倒计时效果

Vue3实现获取验证码按钮倒计时效果 效果描述&#xff1a;用户点击获取验证码按钮&#xff0c;发送请求给后端&#xff0c;按钮失效&#xff0c;并且开始倒计时60秒&#xff1b;在此期间&#xff0c;用户无法再次点击按钮&#xff0c;即使用户刷新页面&#xff0c;倒计时依然存在…

Java项目实战II基于微信小程序的马拉松报名系统(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 马拉松运动…

XQT_UI 组件|01|颜色

介绍 XColor 是一个用于处理颜色的类&#xff0c;提供了获取颜色和样式的方法。它可以与 Qt 的 UI 组件结合使用&#xff0c;以便在应用程序中实现丰富的颜色效果。 安装 确保你已经在项目中包含了 xqt_color_palette.hpp 和相关的头文件。 #include "xqt_color_palet…

【Go语言】Gin框架的简单基本文档

思维导图 一、go 原生的http服务 在go中写一个web服务非常方便和快速&#xff1a; package mainimport ("encoding/json""fmt""io""net/http" )type Response struct {Code int json:"code"Data any json:"dat…

Spring中配置文件方式来配置实现数据源

我的后端学习大纲 我Spring学习大纲 1.1.数据源&#xff08;连接池&#xff09;的作用&#xff1a; 1.数据源&#xff08;连接池&#xff09;是提高程序性能而出现的2.数据源的使用步骤 &#xff1a; 创建数据源对象&#xff0c;在对象创建的时候会初始化部分连接资源使用连接…

【jvm】堆的内部结构

目录 1. 说明2. 年轻代&#xff08;Young Generation&#xff09;2.1 说明2.2 Eden区2.3 Survivor区 3. 老年代&#xff08;Old Generation&#xff09;3.1 说明3.2 对象存放3.3 垃圾回收 4. jdk7及之前5. jdk8及之后 1. 说明 1.JVM堆的内部结构主要包括年轻代&#xff08;You…

录屏软件推荐,4个工具助你高效录屏。

不同的录屏软件具有不同的特点和优势&#xff0c;如果只是偶尔需要录制&#xff0c;Win10 自带的录制功能就很方便&#xff1b;如果需要更加专业的录制和编辑功能&#xff0c;我可以推荐几款功能更加多样也效果较好的第三方软件。 1、福昕高清录屏 直达&#xff1a;www.foxits…

SVM(支持向量机)

SVM&#xff08;支持向量机&#xff09; 引言 支持向量机(Support Vector Machine,SVM)&#xff0c;可以用来解答二分类问题。支持向量(Support Vector)&#xff1a;把划分数据的决策边界叫做超平面&#xff0c;点到超平面的距离叫做间隔。在SVM中&#xff0c;距离超平面最近…

基于neo4j的新冠治疗和新冠患者轨迹的知识图谱问答系统

毕业设计还在苦恼选题&#xff1f;想做一个兼具前沿性和实用性的技术项目&#xff1f;了解下这款基于Neo4j的新冠治疗和患者轨迹的知识图谱问答系统吧&#xff01; 系统可以实现两大功能模块&#xff1a;新冠医疗信息和患者活动轨迹的展示与问答。通过图谱技术&#xff0c;你可…

VBA技术资料MF219:创建一个新的类型模块

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套&#xff0c;分为初级、中级、高级三大部分&#xff0c;教程是对VBA的系统讲解&#…

【方波转正弦波谐波二阶】2022-6-10

缘由怎么用555时基电路将方波转换为正弦波&#xff1f;-其他-CSDN问答 可参带通滤波器电路图大全&#xff08;三款带通滤波器电路设计原理图详解&#xff09; - 全文 - 应用电子电路 - 电子发烧友网

《关于构图问题》

这是一本讲绘画技巧的书&#xff0c;但仔细琢磨体现出不易察觉的东方哲学思想。中国画讲究意境与留白&#xff0c;留白不代表“空”&#xff0c;而是代表对“实”的延伸&#xff0c;留下瞎想空间&#xff0c;实现对“有限&#xff08;实&#xff09;”的超越。 总论 文艺是人们…

演员王丹妮化身岛屿姐姐 开启少年们的欢乐挑战之旅

全民海岛真人秀《岛屿少年》正在持续热播中&#xff0c;少年们迎来了“茶嵛饭后”⻩⻥馆的开业日&#xff0c;知名演员王丹妮以岛屿姐姐的身份&#xff0c;悄然降临此地&#xff0c;为岛屿少年们带来了一场别开生面的考验。 在餐厅正式开业前夕&#xff0c;王丹妮巧妙地伪装成普…

【Spark+Hive大数据】基于spark抖音数据分析预测舆情系统(完整系统源码+数据库+开发笔记+详细部署教程)✅

目录 【SparkHive大数据】基于spark抖音数据分析预测舆情系统&#xff08;完整系统源码数据库开发笔记详细部署教程&#xff09;✅ 一、项目背景 二、研究目的 三、项目意义 四、项目功能 五、项目创新点​​​​​​​ 六、算法介绍 七、项目展示 八、启动文档 九、…

Android Kotlin中协程详解

博主前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住也分享一下给大家&#xff0c; &#x1f449;点击跳转到教程 前言 Kotlin协程介绍&#xff1a; Kotlin 协程是 Kotlin 语言中的一种用于处理异步编程的机制。它提供了一…

Chromium127调试指南 Windows篇 - 安装C++扩展与配置(五)

前言 在前面的文章中&#xff0c;我们已经安装了Visual Studio Code&#xff08;VS Code&#xff09;并配置了基本的扩展。现在&#xff0c;我们将进一步优化我们的开发环境&#xff0c;重点关注C相关的依赖扩展。这些扩展对于在VS Code中高效开发和调试Chromium项目至关重要。…

如何在 Linux 中对 USB 驱动器进行分区

如何在 Linux 中对 USB 驱动器进行分区 一、说明 为了在 Linux 上访问 USB 驱动器&#xff0c;它需要有一个或多个分区。由于 USB 驱动器通常相对较小&#xff0c;仅用于临时存储或轻松传输文件&#xff0c;因此绝大多数用户会选择只配置一个跨越整个 USB 磁盘的分区。但是&a…