pandas ---- pd.DataFrame基本用法

文章目录

  • 前言
    • 1 loc和iloc注意事项。(后面这些都会在笔记中提到)
    • 2 DataFrame的维度
  • 一、 DataFrame的创建 --- pd.DataFrame(data,index=None,columns=None)
    • 1 字典创建DataFrame(字典转Dataframe很常用)
    • 2 用numpy数组或者嵌套list创建DataFrame
  • 二、DataFrame的访问、索引、切片、布尔索引、修改等操作
    • 1 行切片访问 df[ : ] ---- 不能用单个数字索引,只能用切片索引(后面会用loc和iloc替代这个很呆的功能)--- 默认位置索引和自定义索引都支持
    • 2 按列选择
      • df['column_name']:选择单列,返回 Series。
      • df[['column_name']] :选择单列,返回 DataFrame。
      • df[['col1', 'col2']]:选择多列,返回 DataFrame。
    • 3 按布尔条件选择
      • df[df['column_name'] > value]:选择满足条件的行。
      • df[(df['Age'] > 25) & (df['Score'] > 85)] :and 注意里面布尔条件都要分别用小括号括起来,不然会报错
      • df[(df['Age'] > 25) | (df['Score'] > 85)] : or
    • 4 loc[ ] 与 iloc[ ]进行操作
      • (1)loc[ ]
        • 基于行标签的选择 --- df.loc['Alice'] ,df.loc[['Alice']]
          • df.loc['Alice'] --- 返回 Series
          • df.loc[['Alice']] --- 返回 DataFrame
          • df.loc[['Bob', 'David']] --- 返回 DataFrame ,这种数组的索引方式都可以用
        • 基于行和列标签的选择 --- df.loc['Alice', 'Age'] , df.loc['Alice', ['Age', 'City']], df.loc[['Alice'], ['Age', 'City']]
          • df.loc['Alice', ['Age', 'City']] --- 返回Series
          • df.loc[['Alice'], ['Age', 'City']] --- 返回Dataframe
        • 基于行和列范围的选择(切片) --- df.loc['Alice':'Charlie', 'Age':'City']
        • 基于布尔条件的选择 ---- df.loc[df['Age'] > 25] , df.loc[df['Age'] > 25, ['City']]
        • 更新操作
      • (2)iloc[ ] 的使用方法
        • 基于行位置的选择
          • df.iloc[0]
          • df.iloc[[0]]
          • df.iloc[[0,2]]
        • 基于行和列位置的选择
          • df.iloc[0,1] ---- 返回一个标量
          • df.iloc[0,[0,1]] --- 返回series
          • df.iloc[[0],[0,1]] ---- 返回一个dataframe
        • 基于行和列位置范围的选择(切片)
          • df.iloc[0:2, 0:2]
        • 基于布尔条件的选择
          • df.iloc[df['Age'].values > 25] ---- 布尔索引不能直接用于 iloc,但可以通过 DataFrame 的 values 属性获取布尔条件
        • 更新操作
      • 综合示例(各种筛选是可以混合应用的所有要灵活应用,不能死板)
  • 三、DataFrame的常用属性和方法
    • 1 常用属性
      • df.index ---- 返回行索引对象,可以遍历;可以用 .to_list(), .to_numpy()方法转成list和numpy数组
        • .to_list() ---- 将对象转换成列表
        • .to_numpy() ---- 将对象转换成numpy数组
      • df.columns --- 返回列索引对象,可以遍历;可以用 .to_list(), .to_numpy()方法转成list和numpy数组
        • .to_list() ---- 将对象转换成列表
        • .to_numpy() ---- 将对象转换成numpy数组
      • df.values --- 返回values 的numpy数组(注意是一个二维的numpy数组)
      • df.shape --- 返回形状数组,dataframe一定是二维
      • df.ndim --- 返回维度,dataframe一定是 2
      • df.dtypes --- 这里加了复数,表明返回的是每一列都会返回一个 数据类型(一个series)
      • df.size --- 返回values数组里面元素个数
    • 2 基本信息查看方法
      • df.head(n):查看前 n 行(默认 5 行)。
      • df.tail(n):查看后 n 行(默认 5 行)。
      • df.info():查看 DataFrame 概览信息,包括数据类型和非空值计数。
      • df.describe():查看数值型数据的统计信息。
    • 3 DataFrame与Series互转(特别常用)
      • .squeeze() ---- DataFrame转Series
      • .to_frame(name='col_name') --- 将 Series 转换为 DataFrame。name='col_name'指定列名;如果是dataframe筛选出来的Series,index和列名信息都有,我们都不用指定name='col_name'
    • 4 DataFrame常用数据操作方法(新增修改列、改列名、删除及各种常用方法)
      • (1)新增和修改列
        • df['new_column'] = values:添加新列或修改现有列。
        • df.insert(1, 'NewColumn', new_column):在dataframe指定位置添加一列(机器学习训练集哪里会用到)
      • (2)给列重命名 ---- df.rename(columns={'Name': 'Full Name'})
      • (3)设置和重置索引
        • df.set_index('column_name'):将某表设置为索引。
        • df.reset_index(): 重置索引为整数索引,方法用于重置 DataFrame 的索引,将其转换为默认的整数索引.或者将索引变成dataframe新的一列(drop=False)
      • (4)删除行或列
        • df.drop(columns=['col1', 'col2']):删除指定列。
        • df.drop(index=[0, 1]):删除指定行。
      • (5)排序操作
        • df.sort_values(by=['column1','column2'], ascending=[True,False]):按列排序。
        • df.sort_index():按索引排序。
      • (6)数据清洗
        • 处理缺失值
          • df.dropna():删除含有缺失值的行。
          • df.fillna(value):用指定值填充缺失值。
        • df.drop_duplicates():删除重复行。
      • (7)数据类型转换处理
        • 数据类型转换
          • ---- df['column'].astype(new_type):转换列的数据类型。
        • 字符串操作
          • ---- df['column'].str.method():对字符串列进行操作。
        • 日期时间处理
          • ---- pd.to_datetime(df['column']):将列转换为日期时间类型。
          • ---- df['column'].dt.method:对日期时间列进行操作。
      • (8)数据统计
        • 基本统计
          • .max()和.min()
          • .sum() --- 求和
          • df['column'].mean():计算平均值。
          • df['column'].median():计算中位数。
          • df['column'].std():计算标准差。
          • .var() --- 方差
          • .quantile([0,0.25,0.5,0.75,1.0]) --- 查看四分位数
          • df.cov() --- 直接这样用就可以看到各列变量直接的 (协方差矩阵了)
        • 分组聚合(*) df.groupby('column').agg_func() ---- 返回的是一个可能有多级索引的series
          • ---- df.groupby('City')['Age'].mean()
        • 数据透视表(*)
          • ---- df.pivot_table(values='value', index='index', columns='column', aggfunc='mean')
      • (8)其他一些常用操作
        • 索引和列交换
          • df.T:转置 DataFrame。
        • 应用函数
          • .apply(func):对 DataFrame 应用函数。
  • 四、DataFrame的拼接(常用 -- 力扣上还有这样的题)
    • 1 pd.concat([df1,df2,.....],axis = 0) ----- 函数用于沿指定轴拼接多个 DataFrame 或 Series 对象。
    • 2 pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None) 表连接的使用----有点复杂(最近在做一个项目在进行time对齐用到了这个)
      • (1)左,右连接
        • 左连接:pd.merge(left, right, how='left')
        • 右连接:pd.merge(left, right, how='right')
      • (2)外连接和内连接
        • 内连接(理解成交集):pd.merge(left, right, how='inner')
        • 外连接(理解成并集):pd.merge(left, right, how='outer')
      • (3)以两个表的index为连接的on怎么处理
        • pd.merge(df1, df2, left_index=True, right_index=True, how='inner')
  • 五、pandas的导入和导出
      • df.to_csv('file.csv'):导出为 CSV 文件。
      • pd.read_csv('file.csv'):从 CSV 文件导入 DataFrame。
  • 六、DatetimeIndex 时间序列索引index对象
    • 1 创建DatetimeIndex 时间索引index对象
      • 从时间序列直接创建
        • pd.date_range(start='2024-01-01', end='2024-01-10', freq='D')
      • 从现有数据转换
        • pd.DatetimeIndex(dates)
        • pd.to_datetime(dates)
    • 2 DatetimeIndex 的基本属性
      • dt.year --- 访问年份,返回Index对象
      • dt.month --- 访问月份,返回Index对象
      • dt.day --- 访问日期,返回Index对象
      • dt.hour --- 访问小时,返回Index对象
      • dt.minute --- 访问分钟,返回Index对象
      • dt.weekday --- 访问星期几,返回Index对象
      • dt.quarter --- 访问季度,返回Index对象
    • 3 DatetimeIndex 的切片
    • 4 DatetimeIndex在Dataframe和Series上的应用(不断转换来转换区)
      • 通过df.reset_index和df.set_index和pd.to_datetime将DatetimeIndex不断变成索引和列
    • 5 .resample('2D').mean() ---- 重采样技术
    • 6 .rolling(window=3).mean() --- 时间窗口功能
    • 7 .align(ts2, join='inner') ---- 时间对齐高级用法
    • 8 df.shift() ---- 时间戳偏移(Shifting)功能:偏移时间序列数据,即向前或向后移动数据点
  • 总结


前言

本部分主要介绍一些注意事项。另外,series是基础,好多用法都是series扩展一下,很类似的。

1 loc和iloc注意事项。(后面这些都会在笔记中提到)

(1)返回的是Series还是dataframe取决于你有没有加中括号
【注】:如果你对数组索引单个也加上中括号,那么返回的将是 DataFrame 而不是 Series这个规则是普遍适用的,下面也有,这个规则要记住
【注】:单个的一般大家都习惯不加中括号,大不了最后用 .squeeze() ---- DataFrame转Series或者 .to_frame()转一下
(2)loc可以直接布尔索引,iloc布尔索引后还有.values一下转成numpy数组才能布尔索引

2 DataFrame的维度

一、 DataFrame的创建 — pd.DataFrame(data,index=None,columns=None)

— data:可以是字典、列表、NumPy 数组、Pandas Series 或 DataFrame 等。
— index:指定行索引,可以是列表、NumPy 数组或 Pandas Index 对象。
— columns:指定列名,可以是列表、NumPy 数组或 Pandas Index 对象。
没有指定就生成默认的位置索引。

1 字典创建DataFrame(字典转Dataframe很常用)

## 利用字典创建DataFrame
dict = {'数学':[93,89,80,77],'英语':[90,80,70,75],'语文':[87,79,67,92]}
df1 = pd.DataFrame(dict)
print(df1)                          #      数学  英语  语文#   0   93   90    87#   1   89   80    79#   2   80   70    67#   3   77   75    92df2 =pd.DataFrame(dict,index=['张三','李四','王五','赵六'])
print(df2)                          #      数学  英语  语文# 张三   93   90    87# 李四   89   80    79# 王五   80   70    67# 赵六   77   75    92

2 用numpy数组或者嵌套list创建DataFrame

# 从列表创建
data = [['Alice', 25], ['Bob', 30], ['Charlie', 35]]
df1 = pd.DataFrame(data,index=['a','b','c'] ,columns=['Name', 'Age'])
print(df1)                  #       Name  Age# a    Alice   25# b      Bob   30# c  Charlie   35# 从 NumPy 数组创建
data = np.array([[1, 2], [3, 4], [5, 6]])
df2 = pd.DataFrame(data, index=['a','b','c'], columns=['A', 'B'])      
print(df2)                  #    A  B# a  1  2# b  3  4# c  5  6

二、DataFrame的访问、索引、切片、布尔索引、修改等操作

1 行切片访问 df[ : ] ---- 不能用单个数字索引,只能用切片索引(后面会用loc和iloc替代这个很呆的功能)— 默认位置索引和自定义索引都支持

【注1】:这里切片就是真要切片了,不支持 df[0] , df[1]这种
【注2】:所以就很呆,所以我们后面都会用loc和iloc来替代这个垃圾功能
【注3】:切片无论是有没有设置自定义index都可以用默认位置索引(左闭右开),用自定义(符号)index也可以,但是是(左闭右闭)

# 创建一个示例 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],'Age': [24, 27, 22, 32, 29],'Score': [85.5, 88.0, 95.0, 70.5, 80.0]
}
df = pd.DataFrame(data)        #      Name  Age  Score
print(df)                      # 0    Alice   24   85.5# 1      Bob   27   88.0# 2  Charlie   22   95.0# 3    David   32   70.5# 4      Eve   29   80.0print(df[0:3])                 #      Name  Age  Score# 0    Alice   24   85.5# 1      Bob   27   88.0# 2  Charlie   22   95.0    df2 = pd.DataFrame(data, index=['a', 'b', 'c', 'd', 'e'])      # 自定义一下索引
print(df2)                     #       Name  Age  Score# a    Alice   24   85.5# b      Bob   27   88.0# c  Charlie   22   95.0# d    David   32   70.5# e      Eve   29   80.0print(df2[0:3])                #       Name  Age  Score# a    Alice   24   85.5# b      Bob   27   88.0# c  Charlie   22   95.0print(df2['a':'c'])            #       Name  Age  Score# a    Alice   24   85.5# b      Bob   27   88.0# c  Charlie   22   95.0print(df2[0])              # KeyError: 0 不能用数字索引,只能用切片索引

2 按列选择

df[‘column_name’]:选择单列,返回 Series。

df[[‘column_name’]] :选择单列,返回 DataFrame。

【注】:如果你对数组索引单个也加上中括号,那么返回的将是 DataFrame 而不是 Series这个规则是普遍适用的,下面也有,这个规则要记住
【注】:单个的一般大家都习惯不加中括号,大不了最后用 .squeeze() ---- DataFrame转Series或者 .to_frame()转一下

# 创建示例 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],'Age': [24, 27, 22, 32],'City': ['New York', 'Los Angeles', 'Chicago', 'Houston']}
df = pd.DataFrame(data)
print(df)               #     Name  Age         City# 0    Alice   24     New York# 1      Bob   27  Los Angeles# 2  Charlie   22      Chicago# 3    David   32      Houstonprint(df['Name'])       # 0      Alice# 1        Bob# 2    Charlie# 3      David# Name: Name, dtype: object           Seriesprint(df[['Name']])     #      Name# 0    Alice# 1      Bob# 2  Charlie# 3    David# DataFrame                         两个中括号返回的是 DataFrame

df[[‘col1’, ‘col2’]]:选择多列,返回 DataFrame。

3 按布尔条件选择

df[df[‘column_name’] > value]:选择满足条件的行。

df[(df[‘Age’] > 25) & (df[‘Score’] > 85)] :and 注意里面布尔条件都要分别用小括号括起来,不然会报错

df[(df[‘Age’] > 25) | (df[‘Score’] > 85)] : or

# 创建一个示例 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],'Age': [24, 27, 22, 32, 29],'Score': [85.5, 88.0, 95.0, 70.5, 80.0]
}
df = pd.DataFrame(data)        #      Name  Age  Score
print(df)                      # 0    Alice   24   85.5# 1      Bob   27   88.0# 2  Charlie   22   95.0# 3    David   32   70.5# 4      Eve   29   80.0print(df[(df['Age'] > 25) & (df['Score'] > 85)])        #    Name  Age  Score# 1   Bob   27   88.0 

4 loc[ ] 与 iloc[ ]进行操作

  • [注]:关于你筛选出来的数据是DataFrame还是Series关键在于你整数数组访问单个时有没有加中括号,没有加就有可能是Series,有就是DataFrame,看下面例子就懂了
  • [注]:其实这个用法记住各种筛选条件可以混合用就是了

(1)loc[ ]

loc:基于标签(名称)的索引,用于按行和列的标签来访问数据。适合于按行/列标签精确选择数据。
初始要筛选的DataFrame

# 创建示例 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],'Age': [24, 27, 22, 32],'City': ['New York', 'Los Angeles', 'Chicago', 'Houston']}
df = pd.DataFrame(data)
df.set_index('Name', inplace=True)
print(df)                            #        Age         City# Name                      # Alice     24     New York# Bob       27  Los Angeles# Charlie   22     Chicago# David     32     Houston
基于行标签的选择 — df.loc[‘Alice’] ,df.loc[[‘Alice’]]
df.loc[‘Alice’] — 返回 Series
df.loc[[‘Alice’]] — 返回 DataFrame
df.loc[[‘Bob’, ‘David’]] — 返回 DataFrame ,这种数组的索引方式都可以用

如果你对数组索引单个也加上中括号,那么返回的将是 DataFrame 而不是 Series这个规则是普遍适用的,下面也有

# 按行标签选择
row = df.loc['Alice']               
print(row)                           # Age            24# City    New York# Name: Alice, dtype: object                # 单行返回 Seriesrow2 = df.loc[['Alice']]                # 加上中括号,返回的是 DataFrame了·
print(row2)                         #        Age      City# Name                   # Alice     24  New Yorkdf2 = df.loc[['Bob', 'David']]
print(df2)                           #        Age         City# Name                      # Bob       27  Los Angeles# David     32     Houston
  • 选择标签为 ‘Alice’ 的行。
基于行和列标签的选择 — df.loc[‘Alice’, ‘Age’] , df.loc[‘Alice’, [‘Age’, ‘City’]], df.loc[[‘Alice’], [‘Age’, ‘City’]]
df.loc[‘Alice’, [‘Age’, ‘City’]] — 返回Series
df.loc[[‘Alice’], [‘Age’, ‘City’]] — 返回Dataframe

如果你对数组索引单个也加上中括号,那么返回的将是 DataFrame 而不是 Series这个规则是普遍适用的,下面也有

  • 选择标签为 ‘Alice’ 的行和 ‘Age’ 列对应的单元格数据。

  • 选择标签为 ‘Alice’ 的行以及 ‘Age’ 和 ‘City’ 列。

# 选择特定行和列
value = df.loc['Alice', 'Age']       
print(value)                         # 24                                    # 如果只选择一行一列,返回的是标量# 选择特定行的多列  --- 返回 Series
subset = df.loc['Alice', ['Age', 'City']] 
print(subset)                        # Age          24# City    New York# Name: Alice, dtype: object              # 注意:返回的是 Series# 选择特定行的多列  --- 返回 DataFrame
subset2 = df.loc[['Alice'], ['Age', 'City']] 
print(subset2)                       #        Age      City# Name                  # Alice     24  New York                      
# 如果你对数组索引单个也加上中括号,那么返回的将是 DataFrame 而不是 Series
基于行和列范围的选择(切片) — df.loc[‘Alice’:‘Charlie’, ‘Age’:‘City’]
# 选择行标签在一定范围内的多行和多列
subset = df.loc['Alice':'Charlie', 'Age':'City']
print(subset)                        #          Age         City# Name                      # Alice     24     New York# Bob       27  Los Angeles# Charlie   22     Chicago
  • 选择行标签从 ‘Alice’ 到 ‘Charlie’(包括)的行,以及从 ‘Age’ 到 ‘City’ 的列。
基于布尔条件的选择 ---- df.loc[df[‘Age’] > 25] , df.loc[df[‘Age’] > 25, [‘City’]]
  • 选择 ‘Age’ 列大于 25 的所有行。
  • 选择 ‘Age’ 列大于 25 的行,并只保留 ‘City’ 列。
subset = df.loc[df['Age'] > 25]
print(subset)                        #        Age         City# Name                      # Bob       27  Los Angeles# David     32     Houstonsubset2 = df.loc[df['Age'] > 25, ['City']]
print(subset2)                      #                City# Name              # Bob   Los Angeles# David     Houston
更新操作
# 更新特定单元格的值
df.loc['Alice', 'Age'] = 30# 更新满足条件的行的特定列
df.loc[df['Age'] > 25, 'City'] = 'San Francisco'
  • 更新 ‘Alice’ 行的 ‘Age’ 列值为 30。
  • 将 ‘Age’ 列大于 25 的所有行的 ‘City’ 列值更新为 ‘San Francisco’。

(2)iloc[ ] 的使用方法

iloc 用于通过整数位置来选择数据,类似于 NumPy 的数组索引,支持按行、按列或行列组合进行选择。iloc 方法通常有以下几种用法:
创建示例 dataframe

# 创建示例 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],'Age': [24, 27, 22, 32],'City': ['New York', 'Los Angeles', 'Chicago', 'Houston']}
df = pd.DataFrame(data)
df.set_index('Name', inplace=True)
print(df)                            #        Age         City# Name                      # Alice     24     New York# Bob       27  Los Angeles# Charlie   22     Chicago# David     32     Houston
基于行位置的选择
df.iloc[0]
df.iloc[[0]]
df.iloc[[0,2]]
# 按行位置选择
print(df.iloc[0])             #  Age          24# City    New York# Name: Alice, dtype: object               # Seriesprint(df.iloc[[0]])           #        Age      City# Name                  # Alice    24  New York                    # DataFrame          print(df.iloc[[0,2]])         #         Age      City# Name                  # Alice    24  New York# Charlie  22   Chicago
基于行和列位置的选择
df.iloc[0,1] ---- 返回一个标量
df.iloc[0,[0,1]] — 返回series
df.iloc[[0],[0,1]] ---- 返回一个dataframe
print(df.iloc[0,1])                # New York
print(df.iloc[0,0])                # 24

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

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

相关文章

大模型日报2024-06-14

大模型日报 2024-06-14 大模型资讯 Meta发布Llama 3并专注大规模语言模型研发 摘要: Meta于2024年4月发布了开源的大规模语言模型Llama 3,并详细解释了他们在训练这些模型时关注的重点和方法。Meta目前正专注于大规模语言模型的进一步发展。 微软研究人员推出VALL-E…

log4j漏洞学习

log4j漏洞学习 总结基础知识属性占位符之Interpolator(插值器)模式布局日志级别 Jndi RCE CVE-2021-44228环境搭建漏洞复现代码分析日志记录/触发点消息格式化 Lookup 处理JNDI 查询触发条件敏感数据带外漏洞修复MessagePatternConverter类JndiManager#l…

论文阅读笔记:DepGraph: Towards Any Structural Pruning

论文阅读笔记:DepGraph: Towards Any Structural Pruning 1 背景2 创新点3 方法4 模块4.1 分组4.2 依赖图4.3 网络分解4.4 依赖建模4.4 组级剪枝 5 效果 论文:https://arxiv.org/pdf/2301.12900 代码:https://github.com/VainF/Torch-Prunin…

Nvidia TensorRT系列01-基本介绍

Nvidia TensorRT系列01-基本介绍 鉴于Nvidia的在深度学习上已经非常完善,即使有其他的芯片或者是框架,基本思路也都是要借鉴Nvidia的开发的,好比虽然特斯拉网上很多骂声,但是大多数国内的车企还是在发布会上狠狠对比,…

LDR6020显示器应用:革新连接体验,引领未来显示技术

一、引言 随着科技的飞速发展,显示器作为信息展示的重要载体,其性能和应用场景不断得到拓展。特别是在办公、娱乐以及物联网等领域,用户对显示器的需求越来越多样化。在这一背景下,LDR6020显示器的出现,以其卓越的性能…

opencv_GUI

图像入门 import numpy as np import cv2 as cv # 用灰度模式加载图像 img cv.imread(C:/Users/HP/Downloads/basketball.png, 0)# 即使图像路径错误,它也不会抛出任何错误,但是打印 img会给你Nonecv.imshow(image, img) cv.waitKey(5000) # 一个键盘绑…

算法刷题笔记 单链表(C++实现)

文章目录 题目描述基本思路实现代码 题目描述 实现一个单链表,链表初始为空,支持三种操作: 向链表头插入一个数;删除第 k个插入的数后面的一个数;在第 k个插入的数后插入一个数。 现在要对该链表进行M次操作&#x…

AutoCAD 2025 ObjectARX(C++)二次开发环境搭建

(原文:https://blog.iyatt.com/?p16480) 基本环境 AutoCAD 机械版 2025 Visual Studio 2022(需要安装“C 桌面开发”) 开发环境 下载 (1)ObjectARX SDK 下载(提供开发使用的 …

【计算机网络仿真实验-实验2.4、2.5】静态路由、动态路由(RIP)

实验2.4 静态路由 1. 实验拓扑图 注意:有些同学不知道两个路由器之间如何用串行DCE(红线)相接,只需要为路由器分别增加新的HWIC-2T接口卡就好了 不知道如何添加物理接口的,可以查看本人计算机网络专栏中【计算机网络仿真实验——实验准备】…

命令模式:灯开灯关

文章目录 UML类图Command接口Invoker.javaLight.javaOnLightCommand.javaTest.java运行结果位置 UML类图 Command接口 这个你会,只有一个方法,并且接口里面是抽象方法 package mlms; /*- 这个你会,只有一个方法,并且接口里面是抽…

Rust 实战丨绘制曼德博集

曼德博集 曼德博集其实是一个“没什么用”的发现。 曼德博集(Mandelbrot Set)是一种在复平面上形成独特且复杂图案的点的集合。这个集合是以数学家本华曼德博(Benoit Mandelbrot)的名字命名的,他在研究复杂结构和混沌…

SAP HANA版本Fiori激活简介

SAP Fiori 是一个设计系统,使您能够创建具有消费者级别用户体验的业务应用,通过在任何设备上运行,可以在Ipad或者是手机端都可以随时随地的使用SAP,现在越来越多的公司都在使用Fiori系统,公司高层可以更直观的在移动端设备中查看各种数据。 本文主要说明HANA版本怎么激活F…

认识一些分布函数-Gumbel分布

1. Gumbel分布 Gumbel分布(也称为古贝尔型)是一种常用的非对称极值分布( Extreme Value Distribution,EVD),用于建模极大值和极小值,也就是所谓的EVD Type I分布。例如,EVD Type I 被用来预测地震、洪水和其他自然灾害,以及在风险管理中建模操作风险和那些在一定年龄…

【C语言习题】30.使用指针打印数组内容

文章目录 作业标题作业内容2.解题思路3.具体代码 作业标题 使用指针打印数组内容 作业内容 写一个函数打印arr数组的内容,不使用数组下标,使用指针。 arr是一个整形一维数组。 2.解题思路 先定义一个数组,使用指针打印数组内容那就是说我们…

重生奇迹mu魔剑士简介

出生地:勇者大陆 性 别:男 擅 长:近距离作战、武器特技&攻击魔法使用 转 职:剑圣(3转) 介 绍:当玩家账号中有一个220级以上的角色时,便可以创建职业为魔剑士的新角色&#x…

Web前端开发素材:探索、选择与应用的艺术

Web前端开发素材:探索、选择与应用的艺术 在Web前端开发的广袤领域中,素材的选择与应用无疑是一项至关重要的技能。它们如同构建网页的砖石,既承载着设计的美感,又影响着用户体验的深度。本文将从四个方面、五个方面、六个方面和…

基于51单片机心率计设计

1 绪论1.1 国内外心率计脉搏仪系统研究现状 心率(Heart Rate)是用来描述心跳周期的专业术语,是指心脏每分钟跳动的次数, 它不仅是反映心脏功能强弱的重要标志,也是反映人体运动强度的生理指标。自公元三世纪我国最早的脉学专著《脉经》问世以来,脉学理论得到不断的发展和提…

Vulnhub-DC-8

靶机IP:192.168.20.143 kaliIP:192.168.20.128 网络有问题的可以看下搭建Vulnhub靶机网络问题(获取不到IP) 信息收集 用nmap和wappalyzer收集下信息 发现是Drupal 7网站 dirsearch扫下目录 ┌──(root㉿kali)-[/home/kali/Desktop] └─# dirsearch -u http://192.168.20…

代码随想录——组合总和(Leetcode LCR81)

题目链接 回溯 class Solution {List<List<Integer>> res new ArrayList<List<Integer>>();List<Integer> list new ArrayList<Integer>();public List<List<Integer>> combinationSum(int[] candidates, int target) {b…

springboot宠物医院信息管理系统-计算机毕业设计源码04164

摘 要 现如今在中国&#xff0c;随着人民生活质量的逐渐提高&#xff0c;以及人民群众消费能力的日渐增长&#xff0c;各种各样的家养小动物&#xff0c;已经逐渐成为人类越来越亲密的生活伴侣。并且&#xff0c;现如今社会竞争及其激烈&#xff0c;人们的生活节奏越发急促、紧…