Python酷库之旅-第三方库Pandas(099)

news2024/9/22 23:28:23

目录

一、用法精讲

426、pandas.DataFrame.at属性

426-1、语法

426-2、参数

426-3、功能

426-4、返回值

426-5、说明

426-6、用法

426-6-1、数据准备

426-6-2、代码示例

426-6-3、结果输出

427、pandas.DataFrame.iat属性

427-1、语法

427-2、参数

427-3、功能

427-4、返回值

427-5、说明

427-6、用法

427-6-1、数据准备

427-6-2、代码示例

427-6-3、结果输出

428、pandas.DataFrame.loc属性

428-1、语法

428-2、参数

428-3、功能

428-4、返回值

428-5、说明

428-6、用法

428-6-1、数据准备

428-6-2、代码示例

428-6-3、结果输出

429、pandas.DataFrame.iloc属性

429-1、语法

429-2、参数

429-3、功能

429-4、返回值

429-5、说明

429-6、用法

429-6-1、数据准备

429-6-2、代码示例

429-6-3、结果输出

430、pandas.DataFrame.insert方法

430-1、语法

430-2、参数

430-3、功能

430-4、返回值

430-5、说明

430-6、用法

430-6-1、数据准备

430-6-2、代码示例

430-6-3、结果输出

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

426、pandas.DataFrame.at属性
426-1、语法
# 426、pandas.DataFrame.at属性
pandas.DataFrame.at
Access a single value for a row/column label pair.

Similar to loc, in that both provide label-based lookups. Use at if you only need to get or set a single value in a DataFrame or Series.

Raises:
KeyError
If getting a value and ‘label’ does not exist in a DataFrame or Series.

ValueError
If row/column label pair is not a tuple or if any label from the pair is not a scalar for DataFrame. If label is list-like (excluding NamedTuple) for Series.
426-2、参数

        无

426-3、功能

        用于基于行标签和列标签快速访问或设置单个元素的值,它具备高效性,因此非常适合在需要处理单个元素时使用。

426-4、返回值

        返回指定行和列位置的单个元素的值或直接修改DataFrame中指定位置的值,并不返回任何内容。

426-5、说明

        无

426-6、用法
426-6-1、数据准备
426-6-2、代码示例
# 426、pandas.DataFrame.at属性
import pandas as pd
data = {
    'A': [1, 2, 3],
    'B': [4, 5, 6],
    'C': [7, 8, 9]
}
df = pd.DataFrame(data)
# 访问单个值
value = df.at[1, 'B']
print(value)
# 设置单个值
df.at[1, 'B'] = 10
print(df)
426-6-3、结果输出
# 426、pandas.DataFrame.at属性
# 5
#    A   B  C
# 0  1   4  7
# 1  2  10  8
# 2  3   6  9
427、pandas.DataFrame.iat属性
427-1、语法
# 427、pandas.DataFrame.iat属性
pandas.DataFrame.iat
Access a single value for a row/column pair by integer position.

Similar to iloc, in that both provide integer-based lookups. Use iat if you only need to get or set a single value in a DataFrame or Series.

Raises:
IndexError
When integer position is out of bounds.
427-2、参数

        无

427-3、功能

        用于基于整数位置(即行索引和列索引)快速访问或设置单个元素的值,与基于标签的.at不同,.iat采用的是位置索引,因此更加类似于NumPy的访问方式。

427-4、返回值

        返回指定行索引和列索引位置的单个元素的值或直接修改DataFrame中指定位置的值,并不返回任何内容。

427-5、说明

        无

427-6、用法
427-6-1、数据准备
427-6-2、代码示例
# 427、pandas.DataFrame.iat属性
import pandas as pd
data = {
    'A': [1, 2, 3],
    'B': [4, 5, 6],
    'C': [7, 8, 9]
}
df = pd.DataFrame(data)
# 访问单个值
value = df.iat[1, 1]
print(value)
# 设置单个值
df.iat[1, 1] = 10
print(df)
427-6-3、结果输出
# 427、pandas.DataFrame.iat属性
# 5
#    A   B  C
# 0  1   4  7
# 1  2  10  8
# 2  3   6  9
428、pandas.DataFrame.loc属性
428-1、语法
# 428、pandas.DataFrame.loc属性
pandas.DataFrame.loc
Access a group of rows and columns by label(s) or a boolean array.

.loc[] is primarily label based, but may also be used with a boolean array.

Allowed inputs are:

A single label, e.g. 5 or 'a', (note that 5 is interpreted as a label of the index, and never as an integer position along the index).

A list or array of labels, e.g. ['a', 'b', 'c'].

A slice object with labels, e.g. 'a':'f'.

Warning

Note that contrary to usual python slices, both the start and the stop are included

A boolean array of the same length as the axis being sliced, e.g. [True, False, True].

An alignable boolean Series. The index of the key will be aligned before masking.

An alignable Index. The Index of the returned selection will be the input.

A callable function with one argument (the calling Series or DataFrame) and that returns valid output for indexing (one of the above)

See more at Selection by Label.

Raises:
KeyError
If any items are not found.

IndexingError
If an indexed key is passed and its index is unalignable to the frame index.
428-2、参数

        无

428-3、功能

428-3-1、单个元素访问和修改:通过指定行标签和列标签来访问或修改DataFrame中的单个元素。

428-3-2、行访问和修改:通过行标签来访问或修改整行数据。

428-3-3、列访问和修改:通过列标签来访问或修改整列数据。

428-3-4、多行或多列访问和修改:通过传递行标签或列标签的列表来访问或修改多个行或列的数据。

428-3-5、条件筛选:通过布尔条件筛选出满足条件的行或列。

428-3-6、子集访问和修改:访问和修改DataFrame的特定子集(基于行标签和列标签)。

428-4、返回值

428-4-1、单个元素访问和修改:返回指定的元素值(可以是任何类型,如整数、字符串、浮点数等)。

428-4-2、行访问和修改:返回一个包含该行所有列数据的Series对象,索引为列标签。

428-4-3、列访问和修改:返回一个包含该列所有行数据的Series对象,索引为行标签。

428-4-4、多行或多列访问和修改:返回一个包含所选行或列数据的DataFrame对象。

428-4-5、条件筛选:返回一个DataFrame对象,包含所有满足条件的行或列。

428-4-6、子集访问和修改:返回一个包含子集数据的DataFrame对象。

428-5、说明

        无

428-6、用法
428-6-1、数据准备
428-6-2、代码示例
# 428、pandas.DataFrame.loc属性
# 428-1、数据筛选
import pandas as pd
# 创建一个示例DataFrame
data = {
    'date': ['2024-01-01', '2024-01-02', '2024-01-03', '2024-01-04'],
    'value': [10, 20, 30, 40]
}
df = pd.DataFrame(data)
df['date'] = pd.to_datetime(df['date'])
# 筛选出'value'大于20的行
filtered_df = df.loc[df['value'] > 20]
print(filtered_df, end='\n\n')

# 428-2、数据更新
import pandas as pd
# 创建一个示例DataFrame
data = {
    'date': ['2024-01-01', '2024-01-02', '2024-01-03', '2024-01-04'],
    'value': [10, 20, 30, 40]
}
df = pd.DataFrame(data)
df['date'] = pd.to_datetime(df['date'])
# 将'value'大于20的行的'value'列更新为100
df.loc[df['value'] > 20, 'value'] = 100
print(df, end='\n\n')

# 428-3、多列操作
import pandas as pd
# 创建一个示例DataFrame
data = {
    'A': [1, 2, 3, 4],
    'B': [5, 6, 7, 8],
    'C': [9, 10, 11, 12]
}
df = pd.DataFrame(data)
# 选择'A'和'B'两列并计算它们的和
df['A_B_sum'] = df.loc[:, ['A', 'B']].sum(axis=1)
print(df, end='\n\n')

# 428-4、行操作
import pandas as pd
# 创建一个示例DataFrame
data = {
    'A': [1, 2, 3, 4],
    'B': [5, 6, 7, 8],
    'C': [9, 10, 11, 12]
}
df = pd.DataFrame(data)
# 选择第1行和第3行并计算它们的总和
row_sum = df.loc[[0, 2], :].sum()
print(row_sum, end='\n\n')

# 428-5、多条件筛选
import pandas as pd
# 创建一个示例DataFrame
data = {
    'A': [1, 2, 3, 4],
    'B': [5, 6, 7, 8],
    'C': [9, 10, 11, 12]
}
df = pd.DataFrame(data)
# 筛选'A'列大于2且'B'列小于8的行
filtered_df = df.loc[(df['A'] > 2) & (df['B'] < 8)]
print(filtered_df, end='\n\n')

# 428-6、数据子集提取
import pandas as pd
# 创建一个示例DataFrame
data = {
    'A': [1, 2, 3, 4],
    'B': [5, 6, 7, 8],
    'C': [9, 10, 11, 12]
}
df = pd.DataFrame(data)
# 提取'A'列和'C'列,以及前两行构成的子集
subset_df = df.loc[:1, ['A', 'C']]
print(subset_df, end='\n\n')

# 428-7、数据分组与聚合
import pandas as pd
# 创建一个示例DataFrame
data = {
    'category': ['A', 'A', 'B', 'B'],
    'value': [10, 20, 30, 40]
}
df = pd.DataFrame(data)
# 按'category'分组并计算每组的总和
grouped_df = df.groupby('category').sum()
# 筛选出总和值大于30的组
filtered_grouped_df = grouped_df.loc[grouped_df['value'] > 30]
print(filtered_grouped_df, end='\n\n')

# 428-8、合并与连接
import pandas as pd
# 创建两个示例DataFrame
data1 = {
    'key': [1, 2, 3],
    'value1': [10, 20, 30]
}
data2 = {
    'key': [2, 3, 4],
    'value2': [40, 50, 60]
}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
# 合并两个DataFrame
merged_df = pd.merge(df1, df2, on='key', how='outer')
# 筛选出'value1'和'value2'都不为NaN的行
filtered_merged_df = merged_df.loc[~merged_df['value1'].isna() & ~merged_df['value2'].isna()]
print(filtered_merged_df)
428-6-3、结果输出
# 428、pandas.DataFrame.loc属性
# 428-1、数据筛选
#         date  value
# 2 2024-01-03     30
# 3 2024-01-04     40

# 428-2、数据更新
#         date  value
# 0 2024-01-01     10
# 1 2024-01-02     20
# 2 2024-01-03    100
# 3 2024-01-04    100

# 428-3、多列操作
#    A  B   C  A_B_sum
# 0  1  5   9        6
# 1  2  6  10        8
# 2  3  7  11       10
# 3  4  8  12       12

# 428-4、行操作
# A     4
# B    12
# C    20
# dtype: int64

# 428-5、多条件筛选
#    A  B   C
# 2  3  7  11

# 428-6、数据子集提取
#    A   C
# 0  1   9
# 1  2  10

# 428-7、数据分组与聚合
#           value
# category
# B            70

# 428-8、合并与连接
#    key  value1  value2
# 1    2    20.0    40.0
# 2    3    30.0    50.0
429、pandas.DataFrame.iloc属性
429-1、语法
# 429、pandas.DataFrame.iloc属性
pandas.DataFrame.iloc
Purely integer-location based indexing for selection by position.

Deprecated since version 2.2.0: Returning a tuple from a callable is deprecated.

.iloc[] is primarily integer position based (from 0 to length-1 of the axis), but may also be used with a boolean array.

Allowed inputs are:

An integer, e.g. 5.

A list or array of integers, e.g. [4, 3, 0].

A slice object with ints, e.g. 1:7.

A boolean array.

A callable function with one argument (the calling Series or DataFrame) and that returns valid output for indexing (one of the above). This is useful in method chains, when you don’t have a reference to the calling object, but would like to base your selection on some value.

A tuple of row and column indexes. The tuple elements consist of one of the above inputs, e.g. (0, 1).

.iloc will raise IndexError if a requested indexer is out-of-bounds, except slice indexers which allow out-of-bounds indexing (this conforms with python/numpy slice semantics).

See more at Selection by Position.
429-2、参数

        无

429-3、功能

429-3-1、单行选择: 可以通过整数索引来选择DataFrame中的一行。

429-3-2、单列选择: 可以通过整数索引来选择DataFrame中的一列。

429-3-3、特定单元格选择: 可以通过行列的整数位置索引来选择DataFrame中的特定单元格。

429-3-4、区域选择(子集选择): 可以通过切片操作选择DataFrame的一个子集。

429-3-5、数据更新:可以通过iloc来更新DataFrame中某个位置的值。

429-4、返回值

429-4-1、单行选择: 返回一个Series对象,索引为列标签。

429-4-2、单列选择:返回一个Series对象,索引为行标签。

429-4-3、特定单元格选择:返回具体单元格的值,数据类型视该单元格内容而定。

429-4-4、区域选择(子集选择):返回一个新的DataFrame对象。

429-5、说明

        无

429-6、用法
429-6-1、数据准备
429-6-2、代码示例
# 429、pandas.DataFrame.iloc属性
# 429-1、数据清洗和预处理
import pandas as pd
# 创建一个示例DataFrame
data = {'A': [1, 2, None, 4],
        'B': [5, 6, 7, 8],
        'C': [9, None, 11, 12]}
df = pd.DataFrame(data)
# 选择前两行的数据
subset = df.iloc[:2, :]
print("选择前两行的数据:\n", subset)
# 填补某个单元格的缺失值
df.iloc[2, 0] = 3
print("\n填补缺失值后的DataFrame:\n", df)

# 429-2、数据分析和探索
import pandas as pd
# 创建一个示例DataFrame
data = {'A': [1, 2, None, 4],
        'B': [5, 6, 7, 8],
        'C': [9, None, 11, 12]}
df = pd.DataFrame(data)
# 分析第三和第四列的数据
subset = df.iloc[:, 2:]
print("第三和第四列的数据:\n", subset)
# 选择某一行进行特定分析
row = df.iloc[1]
print("\n第二行的数据:\n", row)

# 429-3、数据分区和批量处理
import pandas as pd
# 创建一个较大的DataFrame
data = {'A': range(10), 'B': range(10, 20)}
large_df = pd.DataFrame(data)
# 将数据分成两部分
batch_1 = large_df.iloc[:5, :]
batch_2 = large_df.iloc[5:, :]
# 处理每个批次的数据
print("第一批数据:\n", batch_1)
print("\n第二批数据:\n", batch_2)

# 429-4、模型训练和测试
from sklearn.model_selection import train_test_split
# 假设 large_df 是我们的完整数据集
X_train, X_test = train_test_split(large_df, test_size=0.2)
# 使用iloc进一步选择特定的行进行验证
X_validate = X_train.iloc[:2, :]
print("训练数据的前两行用于验证:\n", X_validate)

# 429-5、特定条件下的数据访问和更新
import pandas as pd
# 假设我们有一个时间序列数据
date_rng = pd.date_range(start='2024-01-01', end='2024-01-10', freq='D')
ts_data = pd.DataFrame(date_rng, columns=['date'])
ts_data['data'] = range(10)
ts_data.set_index('date', inplace=True)
# 使用iloc更新特定时间段的数据
ts_data.iloc[0:3, 0] = [20, 30, 40]
print("更新特定时间段后的时间序列数据:\n", ts_data)
429-6-3、结果输出
# 429、pandas.DataFrame.iloc属性
# 429-1、数据清洗和预处理
# 选择前两行的数据:
#       A  B    C
# 0  1.0  5  9.0
# 1  2.0  6  NaN
#
# 填补缺失值后的DataFrame:
#       A  B     C
# 0  1.0  5   9.0
# 1  2.0  6   NaN
# 2  3.0  7  11.0
# 3  4.0  8  12.0

# 429-2、数据分析和探索
# 第三和第四列的数据:
#        C
# 0   9.0
# 1   NaN
# 2  11.0
# 3  12.0
#
# 第二行的数据:
#  A    2.0
# B    6.0
# C    NaN
# Name: 1, dtype: float64

# 429-3、数据分区和批量处理
# 第一批数据:
#     A   B
# 0  0  10
# 1  1  11
# 2  2  12
# 3  3  13
# 4  4  14
#
# 第二批数据:
#     A   B
# 5  5  15
# 6  6  16
# 7  7  17
# 8  8  18
# 9  9  19

# 429-4、模型训练和测试
# 训练数据的前两行用于验证:
#     A   B
# 7  7  17
# 9  9  19

# 429-5、特定条件下的数据访问和更新
# 更新特定时间段后的时间序列数据:
#              data
# date            
# 2024-01-01    20
# 2024-01-02    30
# 2024-01-03    40
# 2024-01-04     3
# 2024-01-05     4
# 2024-01-06     5
# 2024-01-07     6
# 2024-01-08     7
# 2024-01-09     8
# 2024-01-10     9
430、pandas.DataFrame.insert方法
430-1、语法
# 430、pandas.DataFrame.insert方法
pandas.DataFrame.insert(loc, column, value, allow_duplicates=_NoDefault.no_default)
Insert column into DataFrame at specified location.

Raises a ValueError if column is already contained in the DataFrame, unless allow_duplicates is set to True.

Parameters:
loc
int
Insertion index. Must verify 0 <= loc <= len(columns).

column
str, number, or hashable object
Label of the inserted column.

value
Scalar, Series, or array-like
Content of the inserted column.

allow_duplicates
bool, optional, default lib.no_default
Allow duplicate column labels to be created.
430-2、参数

430-2-1、loc(必须)整数,指定新列插入的位置,loc是一个整数,表示新列将插入到的列索引位置。比如loc=0 表示将新列插入到最左边,loc=2表示将新列插入到现有DataFrame的第三列位置(索引从0开始)。

430-2-2、column(必须)新列的名字,可以是字符串、整型等任何可哈希的值,这个名字将用作新列的列标签。

430-2-3、value(必须)标量、序列或数组,插入的数据,长度应与DataFrame的长度匹配。如果是标量值,则该值将广播到整列;如果是序列或数组,则其长度必须与DataFrame的行数一致。

430-2-4、allow_duplicates(可选)布尔值,是否允许插入重复的列标签,如果为False而插入的列标签已经存在,则会引发一个ValueError,默认设置是不允许重复的列标签。

430-3、功能

        在现有DataFrame的指定位置插入一列新的数据,这在添加新特征(变量)或组合数据集时尤其有用。比如,你可以轻松地在DataFrame的特定位置添加一个新的计算列,或者在从文件或数据库加载数据后插入额外的信息。

430-4、返回值

        该方法没有返回值,调用此方法会直接修改原有的DataFrame,因此要注意这一点。如果你希望保留原始DataFrame,可以考虑在插入新列之前先创建DataFrame的副本。

430-5、说明

        无

430-6、用法
430-6-1、数据准备
430-6-2、代码示例
# 430、pandas.DataFrame.insert方法
import pandas as pd
# 创建一个示例DataFrame
data = {
    'A': [1, 2, 3],
    'B': [4, 5, 6]
}
df = pd.DataFrame(data)
print("原始DataFrame:")
print(df)
# 在位置1插入新列'C'
df.insert(1, 'C', [7, 8, 9])
print("\n插入新列后的DataFrame:")
print(df)
# 尝试插入重复的列标签
try:
    df.insert(1, 'C', [10, 11, 12])
except ValueError as e:
    print("\n尝试插入重复列标签时捕获的异常:")
    print(e)
# 当设置allow_duplicates=True时,允许插入重复的列标签
df.insert(1, 'C', [10, 11, 12], allow_duplicates=True)
print("\n允许重复列标签时插入新列后的DataFrame:")
print(df)
430-6-3、结果输出
# 430、pandas.DataFrame.insert方法
# 原始DataFrame:
#    A  B
# 0  1  4
# 1  2  5
# 2  3  6
# 
# 插入新列后的DataFrame:
#    A  C  B
# 0  1  7  4
# 1  2  8  5
# 2  3  9  6
# 
# 尝试插入重复列标签时捕获的异常:
# cannot insert C, already exists
# 
# 允许重复列标签时插入新列后的DataFrame:
#    A   C  C  B
# 0  1  10  7  4
# 1  2  11  8  5
# 2  3  12  9  6

二、推荐阅读

1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页

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

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

相关文章

LeetCode //C - 331. Verify Preorder Serialization of a Binary Tree

331. Verify Preorder Serialization of a Binary Tree One way to serialize a binary tree is to use preorder traversal. When we encounter a non-null node, we record the node’s value. If it is a null node, we record using a sentinel value such as ‘#’. For…

ZMQ管道模型

案例一 生产者Producer #include <zmq.hpp> #include <iostream> #include <string> #include<chrono> #include<thread>using namespace std; using namespace zmq;int main() {context_t context(1);// 创建 PUSH 套接字&#xff0c;用于发送…

2000-2023年上市公司财务困境RLPM模型数据(含原始数据+计算结果)

2000-2023年上市公司财务困境RLPM模型数据&#xff08;含原始数据计算结果&#xff09; 1、时间&#xff1a;2000-2023年 2、来源&#xff1a;上市公司年报 3、指标&#xff1a;证券代码、证券简称、统计截止日期、是否剔除ST或*ST或PT股、是否剔除上市不满一年、已经退市或…

《深度学习》OpenCV 计算机视觉入门 (上篇)

目录 一、了解OpenCV 1、简介 2、导包 3、了解图片构成 二、函数运用 1、展示图片 2、展示图片属性 1&#xff09;img.shape 形状 2&#xff09;img.dtype 类型 像素值类型&#xff1a; 3&#xff09;img.size 尺寸 4&#xff09;演示&#xff0c;img为上图 …

【轨物方案】红外抄表装置在光伏电站项目中的应用

首先&#xff0c;红外抄表装置能够实现远程自动抄表&#xff0c;这对于光伏电站来说至关重要。由于光伏电站往往分布在广阔的区域&#xff0c;且电站设备可能位于偏远或难以到达的位置&#xff0c;使用红外抄表装置可以减少人工抄表的需要&#xff0c;提高数据采集的效率和准确…

79、ansible-----playbook2

1、作业 [roottest1 opt]# vim test2.yaml - name: this is muluhosts: 192.168.168.22gather_facts: falsevars: ##定义变量testtest:- /opt/test1 ##对变量进行赋值- /opt/test2- /opt/test3- /opt/test4tasks:- name: create mulufile:path: "{{item}}&q…

K8s之自动扩缩容

Kubernetes (K8s) 的动态扩缩容&#xff08;自动伸缩&#xff09;功能是集群管理中非常关键的一部分&#xff0c;能够根据工作负载的变化自动调整应用程序的副本数&#xff0c;以确保资源的高效利用和服务的稳定性。 K8s介绍文章 容器之k8s(Kubernetes)-CSDN博客 1. 动态扩缩容…

文件包含漏洞(1)

目录 PHP伪协议 php://input Example 1&#xff1a; 造成任意代码执行 Example 2&#xff1a; 文件内容绕过 php://filer zip:// PHP伪协议 php://input Example 1&#xff1a; 造成任意代码执行 搭建环境 <meta charset"utf8"> <?php error_repo…

代码随想录算法训练营第51天|卡码网99. 岛屿数量、100. 岛屿的最大面积

1.卡码网99. 岛屿数量 题目链接&#xff1a;https://kamacoder.com/problempage.php?pid1171 文章链接&#xff1a;https://www.programmercarl.com/kamacoder/0099.岛屿的数量深搜.html#_99-岛屿数量 本题思路: 遇到一个没有遍历过的节点陆地&#xff0c;计数器就加一&#x…

银河麒麟桌面操作系统V10:如何设置应用开机自启动?

银河麒麟桌面操作系统V10&#xff1a;如何设置应用开机自启动&#xff1f; 1、图形界面设置2、命令行设置3、注意 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 1、图形界面设置 打开“设置”->“系统”->“开机启动”。点击“添加…

秋招突击——笔试整理——8/25——拼多多笔试整理

文章目录 引言正文第一题——多多删树个人解答 第二题、多多的奇数序列个人解答 第三题&#xff1a;多多换礼物个人解答参考实现 第四题、多多的字符反转个人实现 总结 引言 今天的拼多多笔试挺难的&#xff0c;感觉自己在技巧性还差很多&#xff0c;很多东西需要看很久&#…

第3章-02-Python库Selenium安装与讲解

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年CSDN全站百大博主。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 🏆本文已收录于专栏:Web爬虫入门与实战精讲,后续完整更新内容如下。 文章…

windows javascript 打开、关闭摄像头

1. 效果 打开摄像头 关闭摄像头&#xff08;包括指示灯也关了的&#xff09; 2. 代码 open_close_camera.html // open_close_camera.html <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>use camera</title>…

CPP中lamada表达式作用一览[more cpp-6]

一般语法 CPP中的lambda 表达式的本质就是匿名函数&#xff0c;它可以在代码中定义一个临时的、局部的函数.为什么需要lamada表达式&#xff1f; 因为命名是个大问题 想名字以及避免命名冲突是很劳神费力的事&#xff0c;这就是lamada表达式的优点(lamada优点表现为简洁性)总…

7.Linux_GCC与GDB

GCC 1、GCC编译过程 首先使用编辑器对.c文件进行编辑&#xff0c;即&#xff1a;敲代码。之后GCC编译器会对.c文件进行预处理、编译、汇编、链接&#xff0c;最终输出可执行文件。具体流程如下&#xff1a; 四个阶段的含义及指令 1、预处理 指令&#xff1a;gcc - E <.…

专利服务系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;专利申请管理&#xff0c;分类号管理&#xff0c;专利管理&#xff0c;增值服务管理&#xff0c;业务指导信息管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页…

免费插件集-illustrator插件-Ai插件-路径节点分割路径

文章目录 1.介绍2.安装3.通过窗口>扩展>知了插件4.功能解释5.总结 1.介绍 本文介绍一款免费插件&#xff0c;加强illustrator使用人员工作效率&#xff0c;路径处理功能&#xff0c;功能是路径节点分割路径。首先从下载网址下载这款插件 https://download.csdn.net/down…

kubenetes--资源调度

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 出自B站博主教程笔记&#xff1a; 完整版Kubernetes&#xff08;K8S&#xff09;全套入门微服务实战项目&#xff0c;带你一站式深入掌握K8S核心能…

C语言 之 自定义类型:结构体

结构体类型的声明 结构体的声明 struct tag {member-list; //结构体中的成员&#xff0c;可以有多个 }variable-list; //这里是直接创建结构体的变量&#xff0c;但是不一定要在这里声明变量 //不能把后面这个 ; 省略了例如结构体用于描述一个学生&#xff1a; struct Stu…

48.给定一个 n × n 的二维矩阵表示一个图像,实现一个算法将图像原地顺时针旋转 90 度

48. Rotate Image 题目 你得到了一个 n x n 的二维矩阵,表示一张图像。 将图像顺时针旋转 90 度。 注意: 你必须 就地 旋转图像,这意味着你需要直接修改输入的二维矩阵。不能分配另一个二维矩阵来进行旋转。 示例 1: 输入: [ [1,2,3], [4,5,6], [7,8,9] ] 输出: [ [7,…