数据科学中的Python:NumPy和Pandas入门指南【第121篇—NumPy和Pandas】

news2024/10/2 17:17:32

数据科学中的Python:NumPy和Pandas入门指南

数据科学是当今数字时代中的一个重要领域,而Python是数据科学家们最喜爱的编程语言之一。在这篇博客中,我们将介绍Python中两个强大的库——NumPy和Pandas,它们在数据处理和分析中发挥着重要作用。
在这里插入图片描述

NumPy简介

NumPy是用于科学计算的基础包,提供了高性能的多维数组对象(numpy.ndarray)和用于处理这些数组的工具。让我们从安装NumPy开始:

pip install numpy

接下来,我们将创建一个简单的NumPy数组并演示一些基本的操作:

import numpy as np

# 创建一个一维数组
arr = np.array([1, 2, 3, 4, 5])

# 打印数组
print("NumPy Array:", arr)

# 数组形状
print("Shape:", arr.shape)

# 数组类型
print("Type:", arr.dtype)

# 访问元素
print("Element at index 2:", arr[2])

# 数组运算
arr_squared = arr ** 2
print("Squared Array:", arr_squared)

以上代码创建了一个一维数组,展示了数组的形状、类型、访问元素以及简单的数组运算。NumPy的强大之处在于其支持高效的向量化操作,使得对整个数组进行操作更为方便。

Pandas简介

Pandas是建立在NumPy之上的数据处理库,提供了灵活的数据结构(DataFrame)以及用于数据操作和分析的工具。让我们继续安装Pandas并了解其基本用法:

pip install pandas
import pandas as pd

# 创建一个简单的DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35],
        'City': ['New York', 'San Francisco', 'Los Angeles']}

df = pd.DataFrame(data)

# 显示DataFrame
print("Pandas DataFrame:")
print(df)

# 获取列
print("\nColumn 'Name':")
print(df['Name'])

# 描述性统计
print("\nDescriptive Statistics:")
print(df.describe())

上述代码创建了一个简单的DataFrame,演示了如何访问列和执行描述性统计。Pandas的DataFrame提供了类似于SQL表格的功能,可以轻松地进行数据筛选、切片和分组。

NumPy和Pandas是数据科学中的两个核心库,它们共同为数据处理、分析和建模提供了强大的工具。通过本文的简要介绍,读者可以开始探索这两个库的更多功能,并在实际项目中应用它们,提升数据科学的效率和灵活性。希望这篇入门指南能够为初学者提供一个良好的起点,引领他们进入数据科学的精彩世界。

数据科学中的Python:NumPy和Pandas深入进阶

在上一篇入门指南中,我们介绍了NumPy和Pandas这两个在数据科学中扮演关键角色的Python库。现在,让我们深入挖掘它们更高级的功能和应用。

NumPy进阶

1. 多维数组操作

NumPy的多维数组操作是其强大之处。我们可以执行各种矩阵运算和操作,例如矩阵乘法、转置等:

import numpy as np

# 创建两个矩阵
matrix_a = np.array([[1, 2], [3, 4]])
matrix_b = np.array([[5, 6], [7, 8]])

# 矩阵乘法
result_matrix = np.dot(matrix_a, matrix_b)
print("Matrix Multiplication Result:")
print(result_matrix)

# 矩阵转置
transposed_matrix_a = np.transpose(matrix_a)
print("\nTransposed Matrix A:")
print(transposed_matrix_a)
2. 数学函数和统计

NumPy提供了大量的数学函数和统计工具,方便进行数据分析。以下是一个简单的示例:

import numpy as np

# 创建一个数组
data_array = np.array([1, 2, 3, 4, 5])

# 计算平均值、标准差和总和
mean_value = np.mean(data_array)
std_deviation = np.std(data_array)
sum_value = np.sum(data_array)

print("Mean:", mean_value)
print("Standard Deviation:", std_deviation)
print("Sum:", sum_value)

Pandas进阶

1. 数据清洗和处理

Pandas是数据清洗的得力助手,支持缺失值处理、重复值删除等操作。以下是一个简单的数据清洗示例:

import pandas as pd

# 创建含有缺失值的DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, None, 35],
        'City': ['New York', 'San Francisco', 'Los Angeles']}

df = pd.DataFrame(data)

# 查找并处理缺失值
df_cleaned = df.dropna()

print("Original DataFrame:")
print(df)
print("\nCleaned DataFrame:")
print(df_cleaned)
2. 数据合并和分组

Pandas使得数据合并和分组变得非常简单,这对于复杂的数据分析任务至关重要。以下是一个示例:

import pandas as pd

# 创建两个DataFrame
df1 = pd.DataFrame({'Name': ['Alice', 'Bob', 'Charlie'],
                    'Score': [90, 85, 88]})

df2 = pd.DataFrame({'Name': ['Bob', 'Charlie', 'David'],
                    'Score': [85, 88, 92]})

# 合并DataFrame
merged_df = pd.merge(df1, df2, on='Name', how='outer')
print("Merged DataFrame:")
print(merged_df)

# 分组和计算平均值
grouped_df = merged_df.groupby('Name').mean()
print("\nGrouped DataFrame:")
print(grouped_df)

通过这些进阶示例,读者将更深入地了解NumPy和Pandas在数据科学中的强大功能。这两个库不仅提供了基础的数据结构和操作,还支持高级的数学、统计、数据清洗和分析任务。掌握这些工具将使你能够更高效地处理和分析各种类型的数据,为实际项目中的数据科学工作奠定坚实基础。

数据科学中的Python:NumPy和Pandas高级应用

在前两篇文章中,我们介绍了NumPy和Pandas的基础知识以及一些进阶功能。现在,让我们深入探讨这两个库的一些高级应用,包括数据可视化、时间序列处理和机器学习集成。

数据可视化与Matplotlib

1. Matplotlib基础

Matplotlib是Python中常用的数据可视化库,与NumPy和Pandas完美结合。以下是一个简单的绘图示例:

import numpy as np
import matplotlib.pyplot as plt

# 生成数据
x = np.linspace(0, 2 * np.pi, 100)
y = np.sin(x)

# 绘制正弦曲线
plt.plot(x, y, label='sin(x)')
plt.xlabel('x')
plt.ylabel('sin(x)')
plt.title('Sine Function')
plt.legend()
plt.show()
2. Seaborn的使用

Seaborn是建立在Matplotlib基础上的统计数据可视化库,提供了更高层次的接口。以下是一个简单的Seaborn示例:

import seaborn as sns

# 使用Seaborn绘制散点图
sns.scatterplot(x='Age', y='Score', data=df_cleaned)
plt.title('Scatter Plot of Age vs Score')
plt.show()

时间序列处理与Pandas

1. 时间序列创建

Pandas对时间序列数据提供了强大的支持,包括日期范围生成和索引。以下是一个时间序列创建的例子:

import pandas as pd

# 生成日期范围
date_range = pd.date_range('2024-01-01', '2024-01-10', freq='D')

# 创建时间序列
time_series = pd.Series(np.random.randn(len(date_range)), index=date_range)

print("Time Series Data:")
print(time_series)
2. 时间序列分析

Pandas提供了丰富的时间序列分析功能,例如滚动统计、移动平均等。以下是一个简单的时间序列分析示例:

# 滚动均值
rolling_mean = time_series.rolling(window=3).mean()

# 绘制原始时间序列和滚动均值
plt.plot(time_series, label='Original')
plt.plot(rolling_mean, label='Rolling Mean')
plt.xlabel('Date')
plt.ylabel('Value')
plt.title('Time Series Analysis')
plt.legend()
plt.show()

机器学习与Scikit-Learn

1. 数据准备

在进行机器学习之前,通常需要对数据进行预处理。以下是一个简单的数据准备示例:

from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler

# 创建一个简单的数据集
X = np.random.rand(100, 2)
y = (X[:, 0] + X[:, 1] > 1).astype(int)

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 特征缩放
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)
2. 机器学习模型训练

使用Scikit-Learn,我们可以轻松训练机器学习模型。以下是一个简单的逻辑回归示例:

from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score

# 创建并训练逻辑回归模型
model = LogisticRegression()
model.fit(X_train_scaled, y_train)

# 预测
y_pred = model.predict(X_test_scaled)

# 评估准确度
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)

通过这些高级应用的示例,我们展示了NumPy和Pandas在数据科学中的广泛用途。这两个库与Matplotlib、Seaborn和Scikit-Learn等工具的协同作用,为数据科学家提供了丰富的工具箱,使其能够在数据处理、可视化和机器学习等领域取得卓越成就。希望这篇文章激发了你对数据科学高级应用的兴趣,并激发你深入学习这些领域。

数据科学中的Python:深度学习与TensorFlow

在前几篇文章中,我们已经涵盖了数据科学中常用的Python库,包括NumPy、Pandas、Matplotlib、Seaborn和Scikit-Learn。现在,让我们进一步探讨深度学习领域,并介绍使用TensorFlow进行神经网络建模的基础知识。

TensorFlow简介

TensorFlow是由Google开发的开源机器学习框架,广泛用于深度学习领域。以下是一个简单的TensorFlow示例,演示了如何创建一个基本的神经网络模型:

import tensorflow as tf
from tensorflow import keras
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler

# 创建一个简单的数据集
X = np.random.rand(100, 2)
y = (X[:, 0] + X[:, 1] > 1).astype(int)

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 特征缩放
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)

# 构建神经网络模型
model = keras.Sequential([
    keras.layers.Dense(10, activation='relu', input_shape=(2,)),
    keras.layers.Dense(1, activation='sigmoid')
])

# 编译模型
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])

# 训练模型
model.fit(X_train_scaled, y_train, epochs=10, batch_size=16, validation_data=(X_test_scaled, y_test))

模型评估与调优

在建立神经网络模型后,我们需要对其进行评估和调优。以下是一个简单的评估和调优过程:

# 模型评估
test_loss, test_accuracy = model.evaluate(X_test_scaled, y_test)
print("Test Accuracy:", test_accuracy)

# 进行预测
y_pred = model.predict(X_test_scaled)

# 将概率转换为二进制分类结果
y_pred_binary = (y_pred > 0.5).astype(int)

# 输出混淆矩阵
confusion_matrix = tf.math.confusion_matrix(y_test, y_pred_binary)
print("Confusion Matrix:")
print(confusion_matrix)

TensorFlow应用实例

TensorFlow不仅可以用于基础的神经网络构建,还支持各种深度学习模型的应用,包括图像分类、自然语言处理和强化学习等。以下是一个简单的图像分类实例:

# 导入TensorFlow和Keras中的数据集
from tensorflow.keras.datasets import mnist

# 载入MNIST数据集
(X_train, y_train), (X_test, y_test) = mnist.load_data()

# 归一化图像数据
X_train, X_test = X_train / 255.0, X_test / 255.0

# 构建卷积神经网络模型
model_cnn = keras.Sequential([
    keras.layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),
    keras.layers.MaxPooling2D((2, 2)),
    keras.layers.Flatten(),
    keras.layers.Dense(128, activation='relu'),
    keras.layers.Dense(10, activation='softmax')
])

# 编译模型
model_cnn.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])

# 训练模型
model_cnn.fit(X_train.reshape(-1, 28, 28, 1), y_train, epochs=5, validation_data=(X_test.reshape(-1, 28, 28, 1), y_test))

通过这个简单的示例,我们了解了如何使用TensorFlow构建、训练和评估神经网络模型。TensorFlow提供了丰富的工具和功能,使得深度学习在实际应用中更加便捷和灵活。希望这篇文章为你提供了一个深入学习深度学习的起点。

数据科学中的Python:深度学习与PyTorch

在前几篇文章中,我们已经涵盖了数据科学中常用的Python库,包括NumPy、Pandas、Matplotlib、Seaborn、Scikit-Learn和TensorFlow。现在,让我们继续深入学习深度学习领域,并介绍使用PyTorch进行神经网络建模的基础知识。

PyTorch简介

PyTorch是另一个流行的开源深度学习框架,由Facebook开发。与TensorFlow不同,PyTorch采用了动态计算图的方式,使得模型的构建和调试更为直观。以下是一个简单的PyTorch示例,演示了如何创建一个基本的神经网络模型:

import torch
import torch.nn as nn
import torch.optim as optim
from torch.utils.data import DataLoader, TensorDataset
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler

# 创建一个简单的数据集
X = torch.tensor(np.random.rand(100, 2), dtype=torch.float32)
y = torch.tensor((X[:, 0] + X[:, 1] > 1).astype(int), dtype=torch.float32)

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 特征缩放
scaler = StandardScaler()
X_train_scaled = torch.tensor(scaler.fit_transform(X_train), dtype=torch.float32)
X_test_scaled = torch.tensor(scaler.transform(X_test), dtype=torch.float32)

# 构建神经网络模型
class SimpleNN(nn.Module):
    def __init__(self):
        super(SimpleNN, self).__init__()
        self.fc1 = nn.Linear(2, 10)
        self.relu = nn.ReLU()
        self.fc2 = nn.Linear(10, 1)
        self.sigmoid = nn.Sigmoid()

    def forward(self, x):
        x = self.fc1(x)
        x = self.relu(x)
        x = self.fc2(x)
        x = self.sigmoid(x)
        return x

model = SimpleNN()

# 定义损失函数和优化器
criterion = nn.BCELoss()
optimizer = optim.Adam(model.parameters(), lr=0.001)

# 数据加载器
train_dataset = TensorDataset(X_train_scaled, y_train)
train_loader = DataLoader(train_dataset, batch_size=16, shuffle=True)

# 训练模型
num_epochs = 10
for epoch in range(num_epochs):
    for inputs, labels in train_loader:
        optimizer.zero_grad()
        outputs = model(inputs)
        loss = criterion(outputs.squeeze(), labels)
        loss.backward()
        optimizer.step()

# 模型评估
with torch.no_grad():
    test_outputs = model(X_test_scaled)
    test_predictions = (test_outputs > 0.5).float()
    accuracy = torch.sum(test_predictions.squeeze() == y_test).item() / len(y_test)
    print("Test Accuracy:", accuracy)

PyTorch与卷积神经网络

PyTorch同样支持卷积神经网络(CNN)等更复杂的深度学习模型。以下是一个简单的图像分类CNN示例:

# 导入PyTorch中的数据集
import torchvision
from torchvision import transforms

# 载入MNIST数据集
transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.5,), (0.5,))])
mnist_train = torchvision.datasets.MNIST(root='./data', train=True, download=True, transform=transform)
mnist_test = torchvision.datasets.MNIST(root='./data', train=False, download=True, transform=transform)

# 数据加载器
train_loader_cnn = DataLoader(mnist_train, batch_size=64, shuffle=True)
test_loader_cnn = DataLoader(mnist_test, batch_size=64, shuffle=False)

# 构建卷积神经网络模型
class SimpleCNN(nn.Module):
    def __init__(self):
        super(SimpleCNN, self).__init__()
        self.conv1 = nn.Conv2d(1, 32, kernel_size=3, stride=1, padding=1)
        self.relu = nn.ReLU()
        self.maxpool = nn.MaxPool2d(kernel_size=2, stride=2)
        self.flatten = nn.Flatten()
        self.fc1 = nn.Linear(14 * 14 * 32, 128)
        self.fc2 = nn.Linear(128, 10)

    def forward(self, x):
        x = self.conv1(x)
        x = self.relu(x)
        x = self.maxpool(x)
        x = self.flatten(x)
        x = self.fc1(x)
        x = self.relu(x)
        x = self.fc2(x)
        return x

model_cnn = SimpleCNN()

# 定义损失函数和优化器
criterion_cnn = nn.CrossEntropyLoss()
optimizer_cnn = optim.Adam(model_cnn.parameters(), lr=0.001)

# 训练卷积神经网络模型
num_epochs_cnn = 5
for epoch in range(num_epochs_cnn):
    for inputs, labels in train_loader_cnn:
        optimizer_cnn.zero_grad()
        outputs = model_cnn(inputs)
        loss = criterion_cnn(outputs, labels)
        loss.backward()
        optimizer_cnn.step()

# 模型评估
correct = 0
total = 0
with torch.no_grad():
    for inputs, labels in test_loader_cnn:
        outputs = model_cnn(inputs)
        _, predicted = torch.max(outputs.data, 1)
        total += labels.size(0)
        correct += (predicted == labels).sum().item()

accuracy_cnn = correct / total
print("Test Accuracy (CNN):", accuracy_cnn)

通过这些示例,我们了解了如何使用PyTorch构建、训练和评估神经网络模型,包括基本的全连接神经网络和卷积神经网络。PyTorch的动态计算图和直观的API设计使得深度学习任务更加灵活和容易实现。希望这篇文章能够为你提供深入学习PyTorch的基础。

总结

总结:

在这系列的文章中,我们深入探讨了数据科学中常用的Python库以及深度学习领域的两大主流框架:TensorFlow和PyTorch。以下是我们涵盖的主要内容:

  1. 基础工具: 我们从NumPy和Pandas开始,这两个库为数据科学家提供了强大的数据处理和分析工具。NumPy提供了高性能的数组操作,而Pandas则提供了灵活的数据结构和高级的数据操作方法。

  2. 数据可视化: 使用Matplotlib和Seaborn,我们学习了如何创建各种类型的图表和可视化,以便更好地理解数据分布、趋势和关系。

  3. 时间序列处理: 利用Pandas,我们介绍了如何处理和分析时间序列数据,包括日期范围生成、滚动统计和移动平均等常见操作。

  4. 机器学习: 使用Scikit-Learn,我们学习了如何准备数据、训练模型和评估性能,包括简单的逻辑回归模型和图像分类任务。

  5. 深度学习入门: 我们首先使用TensorFlow介绍了神经网络的基础概念,包括模型构建、训练和评估。然后,我们转向PyTorch,了解了其动态计算图和直观的API设计。

  6. 深度学习应用: 我们展示了如何使用TensorFlow和PyTorch构建和训练更复杂的深度学习模型,包括全连接神经网络和卷积神经网络。这些示例覆盖了从简单的数值数据到图像分类等多个领域。

通过这系列文章,我们提供了一个全面的学习路径,帮助读者建立起在数据科学和深度学习领域的坚实基础。这些工具和框架不仅仅是理论知识,更是实际应用中解决问题的有力工具。希望这些内容能够激发读者深入学习和探索更多领域,不断提升在数据科学和深度学习中的技能水平。

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

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

相关文章

mysql | 查询数据的过程|优化-->索引 |存储引擎

查询的过程 首先确认mysql 服务器是否启动 systemctl mysqld status 登录连接 mysql -h i p − u ip -u ip−uuser -p (-h 指定服务器ip -u 指定用户名 -p 指定密码) mysql 数据包 经过抓包分析(mysql包其实就是基于tcp协议 3306端口) 传输采用mysql 协议&#xff0…

【探索C++容器:set和map的使用】

[本节目标] 1. 关联式容器 2. 键值对 3. 树形结构的关联式容器 1. 关联式容器 在初阶阶段,我们已经接触过STL中的部分容器,比如:vector、list、deque、forward_list(C11)等,这些容器统称为序列式容器,因为其底层为…

【Tauri】(4):整合Tauri和actix-web做本地大模型应用开发,可以实现session 登陆接口,完成页面展示,进入聊天界面

1,视频地址 https://www.bilibili.com/video/BV1GJ4m1Y7Aj/ 【Tauri】(4):整合Tauri和actix-web做本地大模型应用开发,可以实现session 登陆接口,完成页面展示,进入聊天界面 使用国内代理进行加…

农场管理小程序|基于微信小程序的农场管理系统设计与实现(源码+数据库+文档)

农场管理小程序目录 目录 基于微信小程序的农场管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1、用户信息管理 2、农场信息管理 3、公告信息管理 4、论坛信息管理 四、数据库设计 五、核心代码 七、最新计算机毕设选题推荐 八、源码获取&#x…

族群争霸休闲养成小游戏

​游戏概述: 在一个由自然力量支配的幻想世界中,狼族与羊族的战争永无止境。 人族在两者之间寻求和平,建立起坚固的城墙,同时捕捉狼与羊来增强自身实力。 神族则在幕后观察,偶尔以神技介入战场,影响战局…

如何通过隐藏服务器真实IP来防御DDOS攻击

我们知道,服务器对外提供服务,基本上都是放置在公网上的。所以说服务器放置在公网上会面临很多攻击,如果不做好必要的防护措施,服务器被人攻击只是时间上的问题。 而我们面临的众多攻击中,DDoS攻击是最常见同时也是影响…

CSS顶部与JS后写:网页渲染的奥秘

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

【linux】01 :虚拟机,Linux系统,远程连接Linux系统

导入:常见操作系统有哪些? PC端:Windows,Linux,MacOS 移动端:Android、IOS、鸿蒙系统 一、Linux 系统的组成 由Linux 系统内核和系统级应用程序两部分组成。 内核提供系统最核心的功能,如:调度 CPU 、调度…

Android Studio在导入项目后编译出现java版本错误解决方法

打开新项目时出现一下错误: Unsupported Java,Your build is currently configured to use Java 17.0.9 and Gradle 5.6.4. 这说明使用的java版本过高,而 gradle5.6.4对应的是java8,最新安装的编译器java版本是17 解决方法是为项…

C语言————字符函数与字符串函数

在编程的过程中,我们经常要处理字符和字符串,为了⽅便操作字符和字符串,C语⾔标准库中提供了⼀系列库函数,如追加,拷贝,替换等等接下来我们就学习⼀下这些函数,并且自实现。 gets 这个指令大家…

IntelliJ IDEA 2020.2.4试用方法

打开idea,准备好ide-eval-resetter压缩包。 将准备好的压缩包拖入idea中 选中弹窗中的自动重置选项,并点击重置 查看免费试用时长

【Docker安装教程】Docker安装Redis详解

安装Redis前我们必须要保证Docker运行OK,如何安装Docker参考《CentOS 7 上的 Docker 安装与配置》 步骤 1: 拉取 Redis 镜像 首先,确保你已经安装了 Docker。然后,使用以下命令拉取最新的 Redis 镜像: docker pull redis](http…

【Pytorch】进阶学习:深入解析 sklearn.metrics 中的 classification_report 函数---分类性能评估的利器

【Pytorch】进阶学习:深入解析 sklearn.metrics 中的 classification_report 函数—分类性能评估的利器 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合…

《互联网的世界》第五讲-信任和安全(第一趴:物理世界的非对称加密装置)

信任和安全的话题过于庞大,涉及很多数学知识,直接涉及 “正事” 反而不利于理解问题的本质,因此需要先讲一个前置作为 part 1。 part 1 主要描述物理世界的信任和安全,千万不要觉得数字世界是脱离物理世界的另一天堂,…

【C语言】字符指针

在指针的类型中我们知道有一种指针类型为字符指针char* 一般使用: int main() { char ch w; char *pc &ch; *pc w; return 0; } 还有一种使用方式,如下: int main() { const char* pstr "hello bit.";//这⾥是把⼀个字…

基于决策树实现葡萄酒分类

基于决策树实现葡萄酒分类 将葡萄酒数据集拆分成训练集和测试集,搭建tree_1和tree_2两个决策树模型,tree_1使用信息增益作为特征选择指标,B树使用基尼指数作为特征选择指标,各自对训练集进行训练,然后分别对训练集和测…

基于Java的在线课程教学系统(Vue.js+SpringBoot)

目录 一、摘要1.1 系统介绍1.2 项目录屏 二、研究内容2.1 课程类型管理模块2.2 课程管理模块2.3 课时管理模块2.4 课程交互模块2.5 系统基础模块 三、系统设计3.1 用例设计3.2 数据库设计 四、系统展示4.1 管理后台4.2 用户网页 五、样例代码5.1 新增课程类型5.2 网站登录5.3 课…

企业AI转型之路:策略与实践

目录 前言1 试点项目:积累AI经验1.1 选择有实际价值的项目1.2 创新氛围的激发1.3 员工对新技术的接受度提升 2 建立高效的内部AI团队2.1 团队独立性与高层直报2.2 初期资金支持与资源整合 3 提供全面的AI培训计划3.1 针对不同层次的培训3.2 多样化培训形式3.3 内部人…

【Linux】线程同步与生产消费者问题

欢迎来到Cefler的博客😁 🕌博客主页:折纸花满衣 🏠个人专栏:题目解析 🌎推荐文章:【LeetCode】winter vacation training 目录 👉🏻CP问题👉🏻互斥…

Linux:kubernetes(k8s)prestop事件的使用(10)

他的作用是在结束pod容器之后进行的操作 apiVersion: v1 # api文档版本 kind: Pod # 资源对象类型 metadata: # pod相关的元数据,用于描述pod的数据name: nginx-po # pod名称labels: # pod的标签type: app #这个是随便写的 自定义的标签version: 1.0.0 #这个…