【python】pandas 之 DataFrame、Series使用详解

news2025/1/14 20:11:53

目录

一:Pandas简介

二:Pandas数据结构

三:Series

四:字典生成Series

五:标量值生成Series 

六:Series类似多维数组 

七:Series类似字典 

八:矢量操作与对齐 Series 标签

九:Series名称属性 

十:DataFrame

十一:用 Series 字典或字典生成 DataFrame 

十二:用多维数组字典、列表字典生成 DataFrame 

十三:用结构多维数组或记录多维数组生成 DataFrame 

十四:用列表字典生成 DataFrame 

十五:用元组字典生成 DataFrame 

十六:用Series字典对象生成 DataFrame 


一:Pandas简介

Pandas 是 Python 的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据

Pandas 的目标是成为 Python 数据分析实践与实战的必备高级工具,其长远目标是成为最强大、最灵活、可以支持任何语言的开源数据分析工具

Pandas 适用于处理以下类型的数据:

1 与 SQL 或 Excel 表类似的,含异构列的表格数据;

2 有序和无序(非固定频率)的时间序列数据;

3 带行列标签的矩阵数据,包括同构或异构型数据;

4 任意其它形式的观测、统计数据集, 数据转入 Pandas 数据结构时不必事先标记

安装:pip install pandas

二:Pandas数据结构

Series一维

DataFrame二维 

Pandas 里,轴的概念主要是为了给数据赋予更直观的语义,即用“更恰当”的方式表示数据集的方向;这样做可以让用户编写数据转换函数时,少费点脑子

处理 DataFrame 等表格数据时,index(行)或 columns(列)比 axis 0 和 axis 1 更直观;用这种方式迭代 DataFrame 的列,代码更易读易懂: 

for col in df.columns:
    series = df[col]

Pandas 基础数据结构,包括各类对象的数据类型、索引、轴标记、对齐等基础操作。首先,导入 NumPy 和 Pandas: 

import numpy as np
import pandas as pd

Series 是带标签的一维数组,可存储整数、浮点数、字符串、Python 对象等类型的数据。轴标签统称为索引

调用 pd.Series 函数即可创建 Series,如下

s = pd.Series(data, index=index)

上述代码中,data 支持以下数据类型:

Python 字典

多维数组

标量值(如,5) 

三:Series

index 是轴标签列表。不同数据可分为以下几种情况:

data 是多维数组时,index 长度必须与 data 长度一致。没有指定 index 参数时,创建数值型索引,即 [0, ..., len(data) - 1]。

示例1,带标签的一维同构数组Series

import numpy as np
import pandas as pd

s = pd.Series(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'])
print(s)

输出结果  5行数据

a    1.558245
b    1.482427
c   -1.041129
d    0.935235
e    1.587218
dtype: float64 

import numpy as np
import pandas as pd

s = pd.Series(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'])
print(s.index)

输出结果:

Index(['a', 'b', 'c', 'd', 'e'], dtype='object')

四:字典生成Series

Series 可以用字典实例化: 示例如下

import numpy as np
import pandas as pd

d = {'b': 1, 'a': 0, 'c': 2}
print(pd.Series(d))

输出结果:3个一维输出如下

b    1
a    0
c    2
dtype: int64 

如果设置了 index 参数,则按索引标签提取 data 里对应的值

示例如下

import numpy as np
import pandas as pd

d = {'a': 0., 'b': 1., 'c': 2.}
print(pd.Series(d))

输出结果:

a    0.0
b    1.0
c    2.0
dtype: float64 

如果设置了 index 参数,则按索引标签提取 data 里对应的值 还有如下示例

index索引可以重新定义,可以修改

import numpy as np
import pandas as pd

d = {'a': 0., 'b': 1., 'c': 2.}
print(pd.Series(d, index=['b', 'c', 'd', 'a']))

输出结果:重新定义index,行标重新去锁值,如d没有则NaN;c有对应2.0

b    1.0
c    2.0
d    NaN
a    0.0
dtype: float64 

五:标量值生成Series 

data 是标量值时,必须提供索引

Series 按索引长度重复该标量值 

import numpy as np
import pandas as pd

d = pd.Series(5., index=['a', 'b', 'c', 'd', 'e'])
print(d)

输出结果:

a    5.0
b    5.0
c    5.0
d    5.0
e    5.0
dtype: float64

六:Series类似多维数组 

Series 操作与 ndarray 类似,支持大多数 NumPy 函数,还支持索引切片 

下面给出8个示例

import numpy as np
import pandas as pd

s = pd.Series(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'])
print(s[0])

示例1 输出结果:

0.6853089253347693 

import numpy as np
import pandas as pd

s = pd.Series(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'])
print(s[:3])

示例2 输出结果:

a   -1.448139
b    2.037805
c    0.630593
dtype: float64 

import numpy as np
import pandas as pd

s = pd.Series(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'])
print(s[s > s.median()])

示例3 输出结果:

a    1.362318
d   -0.145133
dtype: float64 

import numpy as np
import pandas as pd

s = pd.Series(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'])
print(s[[4, 3, 1]])

示例4 输出结果:

e    1.551956
d    0.412505
b    0.149695
dtype: float64 

import numpy as np
import pandas as pd

s = pd.Series(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'])
print(np.exp(s))

示例5 输出结果

a    0.613578
b    1.145933
c    1.676388
d    1.804427
e    0.290707
dtype: float64 

import numpy as np
import pandas as pd

s = pd.Series(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'])
print(s.dtype)  # Series 的数据类型一般是 NumPy 数据类型

示例6 输出结果

float64 

import numpy as np
import pandas as pd

s = pd.Series(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'])
print(s.array)

示例7 print(s.array)输出结果 Series.array 用于提取 Series 数组

<PandasArray>
[ -1.0258449356655936,  -0.1040740491851698,   -0.371796402671782,
 -0.15074588032048006,  -0.6481135676408321]
Length: 5, dtype: float64 

import numpy as np
import pandas as pd

s = pd.Series(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'])
n = (s.to_numpy())
# Series 只是类似于多维数组,提取真正的多维数组,要用 Series.to_numpy()
print(n, type(n))

执行不用索引的操作时,如禁用自动对齐,访问数组非常有用

Series.array 一般是扩展数组。简单说,扩展数组是把 N 个 numpy.ndarray 包在一起的打包器

Pandas 知道怎么把扩展数组存储到 Series 或 DataFrame 的列里

示例8 print(s.to_numpy())输出结果: pandas的series一维结构转换为numpy的ndarray

[ 0.70064719  0.40663471 -1.39737931  2.15146709  0.18545255] <class 'numpy.ndarray'>

七:Series类似字典 

Series 类似固定大小的字典,可以用索引标签提取值或设置值: 

下面给出3个示例

import numpy as np
import pandas as pd

s = pd.Series(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'])
print(s['a'])

示例1 输出结果:

0.4074712729585669 

import numpy as np
import pandas as pd

s = pd.Series(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'])
s['e'] = 12.
print(s)

示例2 输出结果:

a     0.018912
b     2.093037
c    -0.002699
d    -1.999814
e    12.000000
dtype: float64 

import numpy as np
import pandas as pd

s = pd.Series(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'])
print('e' in s)

print('f' in s)

示例3 输出结果:

True
False 

引用 Series 里没有的标签会触发异常: 

下面给出2个示例

import numpy as np
import pandas as pd

s = pd.Series(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'])
print(s['f'])

输出异常:KeyError: 'f' 

使用get可以输出,如下

import numpy as np
import pandas as pd

s = pd.Series(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'])
print(s.get('f'))
s.get('f', np.nan)

使用get

可输出:None 

八:矢量操作与对齐 Series 标签

Series 和 NumPy 数组一样,都不用循环每个值,而且 Series 支持大多数 NumPy 多维数组的方法

import numpy as np
import pandas as pd

s = pd.Series(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'])
print(s + s)

输出结果:

a    0.611183
b   -0.967015
c    1.726425
d   -3.766861
e    1.050546
dtype: float64

import numpy as np
import pandas as pd

s = pd.Series(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'])
print(s * 2)

输出结果:

a    3.675656
b    3.903872
c    0.363479
d   -2.589410
e   -1.913055
dtype: float64 

九:Series名称属性 

Series 支持 name 属性 

import numpy as np
import pandas as pd

s = pd.Series(np.random.randn(5), name='something')
print(s)

输出:

0    0.151475
1    0.609232
2   -0.223518
3   -1.029584
4    1.581806
Name: something, dtype: float64 

import numpy as np
import pandas as pd

s = pd.Series(np.random.randn(5), name='something')
print(s.name)

输出:

something 

import numpy as np
import pandas as pd

s = pd.Series(np.random.randn(5), name='something')
s2 = s.rename("different")
print(s2.name)

输出:

different 

十:DataFrame

DataFrame 是由多种类型的列构成的二维标签数据结构,类似于 Excel 、SQL 表,或 Series 对象构成的字典

DataFrame 是最常用的 Pandas 对象,与 Series 一样,DataFrame 支持多种类型的输入数据:

一维 ndarray、列表、字典、Series 字典

二维 numpy.ndarray

结构多维数组或记录多维数组

Series

DataFrame

    除了数据,还可以有选择地传递 index(行标签)和 columns(列标签)参数

   传递了索引或列,就可以确保生成的 DataFrame 里包含索引或列

   Series 字典加上指定索引时,会丢弃与传递的索引不匹配的所有数据。

十一:用 Series 字典或字典生成 DataFrame 

生成的索引是每个 Series 索引的并集。先把嵌套字典转换为 Series。如果没有指定列,DataFrame 的列就是字典键的有序列表。 

import numpy as np
import pandas as pd

d = {'one': pd.Series([1., 2., 3.], index=['a', 'b', 'c']),
     'two': pd.Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd'])}
df = pd.DataFrame(d)

print(df)

输出如下 

index  a b c d   行索引

one two            列索引

类似key-value

   one  two
a  1.0  1.0
b  2.0  2.0
c  3.0  3.0
d  NaN  4.0
import numpy as np
import pandas as pd

d = {'one': pd.Series([1., 2., 3.], index=['a', 'b', 'c']),
     'two': pd.Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd'])}

df = pd.DataFrame(d, index=['d', 'b', 'a'])
print(df)

输出如下 

index  d b a 行索引

one two       列索引

   one  two
d  NaN  4.0
b  2.0  2.0
a  1.0  1.0
import numpy as np
import pandas as pd

d = {'one': pd.Series([1., 2., 3.], index=['a', 'b', 'c']),
     'two': pd.Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd'])}

print(pd.DataFrame(d, index=['d', 'b', 'a'], columns=['two', 'three']))

输出如下 

index  d b a  行索引

two three      列索引

   two three
d  4.0   NaN
b  2.0   NaN
a  1.0   NaN
import numpy as np
import pandas as pd

d = {'one': pd.Series([1., 2., 3.], index=['a', 'b', 'c']),
     'two': pd.Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd'])}

df = pd.DataFrame(d)
print(df.index)

输入如下  Index  dtype

Index(['a', 'b', 'c', 'd'], dtype='object')
import numpy as np
import pandas as pd

d = {'one': pd.Series([1., 2., 3.], index=['a', 'b', 'c']),
     'two': pd.Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd'])}

df = pd.DataFrame(d)
print(df.columns)

输出如下   Index  dtype

Index(['one', 'two'], dtype='object')

十二:用多维数组字典、列表字典生成 DataFrame 

多维数组的长度必须相同。如果传递了索引参数,index 的长度必须与数组一致。如果没有传递索引参数,生成的结果是 range(n),n 为数组长度。 

import numpy as np
import pandas as pd

d = {'one': [1., 2., 3., 4.],
     'two': [4., 3., 2., 1.]}
print(pd.DataFrame(d))

输出如下 

0 1 2 3   行索引

one two 列索引

   one  two
0  1.0  4.0
1  2.0  3.0
2  3.0  2.0
3  4.0  1.0
import numpy as np
import pandas as pd

d = {'one': [1., 2., 3., 4.],
     'two': [4., 3., 2., 1.]}

res = pd.DataFrame(d, index=['a', 'b', 'c', 'd'])
print(res)

输出如下 

a b c d   行索引

one two 列索引

   one  two
a  1.0  4.0
b  2.0  3.0
c  3.0  2.0
d  4.0  1.0

十三:用结构多维数组或记录多维数组生成 DataFrame 

与数组字典的操作方式相同 

import numpy as np
import pandas as pd

data = np.zeros((2, ), dtype=[('A', 'i4'), ('B', 'f4'), ('C', 'a10')])
data[:] = [(1, 2., 'Hello'), (2, 3., "World")]
res = pd.DataFrame(data)
print(res)

输出如下 

0 1      行

A B C 列

   A    B         C
0  1  2.0  b'Hello'
1  2  3.0  b'World'
import numpy as np
import pandas as pd

data = np.zeros((2, ), dtype=[('A', 'i4'), ('B', 'f4'), ('C', 'a10')])
data[:] = [(1, 2., 'Hello'), (2, 3., "World")]

res1 = pd.DataFrame(data, index=['first', 'second'])
print(res1)

输出如下 

first second 行

A B C            列

        A    B         C
first   1  2.0  b'Hello'
second  2  3.0  b'World'
import numpy as np
import pandas as pd

data = np.zeros((2, ), dtype=[('A', 'i4'), ('B', 'f4'), ('C', 'a10')])
data[:] = [(1, 2., 'Hello'), (2, 3., "World")]

res2 = pd.DataFrame(data, columns=['C', 'A', 'B'])
print(res2)

输出如下 

0 1     行

C A B 列

          C  A    B
0  b'Hello'  1  2.0
1  b'World'  2  3.0

十四:用列表字典生成 DataFrame 

与数组字典的操作方式相同 

import numpy as np
import pandas as pd

data2 = [{'a': 1, 'b': 2}, {'a': 5, 'b': 10, 'c': 20}]
res = pd.DataFrame(data2)
print(res)

输出如下

0 1    行

a b c 列 

   a   b     c
0  1   2   NaN
1  5  10  20.0
import numpy as np
import pandas as pd

data2 = [{'a': 1, 'b': 2}, {'a': 5, 'b': 10, 'c': 20}]

res1 = pd.DataFrame(data2, index=['first', 'second'])
print(res1)

输出如下 

first second 行

a b c             列

        a   b     c
first   1   2   NaN
second  5  10  20.0
import numpy as np
import pandas as pd

data2 = [{'a': 1, 'b': 2}, {'a': 5, 'b': 10, 'c': 20}]

res2 = pd.DataFrame(data2, columns=['a', 'b'])
print(res2)

输出如下 

0 1 行

a b 列

   a   b
0  1   2
1  5  10

十五:用元组字典生成 DataFrame 

元组字典可以自动创建多层索引 DataFrame 

import numpy as np
import pandas as pd

res = pd.DataFrame({('a', 'b'): {('A', 'B'): 1, ('A', 'C'): 2},
                    ('a', 'a'): {('A', 'C'): 3, ('A', 'B'): 4},
                    ('a', 'c'): {('A', 'B'): 5, ('A', 'C'): 6},
                    ('b', 'a'): {('A', 'C'): 7, ('A', 'B'): 8},
                    ('b', 'b'): {('A', 'D'): 9, ('A', 'B'): 10}})
print(res)

输出如下 

如 1.0

对应的行索引 A B   

对应的列索引 a b

       a              b      
       b    a    c    a     b
A B  1.0  4.0  5.0  8.0  10.0
  C  2.0  3.0  6.0  7.0   NaN
  D  NaN  NaN  NaN  NaN   9.0

十六:用Series字典对象生成 DataFrame 

import numpy as np
import pandas as pd

df2 = pd.DataFrame({'A': 1.,
                    'B': pd.Timestamp('20130102'),
                    'C': pd.Series(1, index=list(range(4)), dtype='float32'),
                    'D': np.array([3] * 4, dtype='int32'),
                    'E': pd.Categorical(["test", "train", "test", "train"]),
                    'F': 'foo'})
print(df2)

输出如下 这个示例重点了解DataFrame

0 1 2 3          行

A B C D E F 列 

     A          B    C  D      E    F
0  1.0 2013-01-02  1.0  3   test  foo
1  1.0 2013-01-02  1.0  3  train  foo
2  1.0 2013-01-02  1.0  3   test  foo
3  1.0 2013-01-02  1.0  3  train  foo
import numpy as np
import pandas as pd

df2 = pd.DataFrame({'A': 1.,
                    'B': pd.Timestamp('20130102'),
                    'C': pd.Series(1, index=list(range(4)), dtype='float32'),
                    'D': np.array([3] * 4, dtype='int32'),
                    'E': pd.Categorical(["test", "train", "test", "train"]),
                    'F': 'foo'})
print(df2.dtypes)

输出如下 

A           float64
B    datetime64[ns]
C           float32
D             int32
E          category
F            object
dtype: object

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

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

相关文章

对话交通银行:中国金融业数据仓库有哪些重要趋势?

数字经济时代&#xff0c;什么才是金融机构的核心竞争力&#xff1f;笔者访谈了交通银行软件开发中心总经理刘雷。刘雷指出&#xff1a;“数据和数据能力是金融机构发展的核心竞争力”。 当下&#xff0c;金融机构的数字化转型正迈入纵深阶段&#xff0c;使得两大核心诉求更加…

SpringMVC学习:四、SpringMVC的高级开发(异常处理器、文件上传、 拦截器)

5. SpringMVC的高级开发 5.1 异常处理器 ​ springmvc在处理请求过程中出现异常信息交由异常处理器进行处理&#xff0c;自定义异常处理器可以实现一个系统的异常处理逻辑。 思路: ​ 系统中异常包括两类&#xff1a;预期异常和运行时异常RuntimeException&#xff0c;前者…

如何利用代理IP做SEO监控优化?

从事互联网营销相关的用户多多少少都会接触到SEO&#xff0c;一般来说企业为了实现传播效果&#xff0c;每天都需要大量重复地做各种渠道的投放&#xff0c;这是一项逐渐累积的长期性工作。而这其中关键的优化分析与监控&#xff0c;势必需要大量的数据支持。接下来就一起来了解…

Linux--seq命令

seq(sequeue)用于序列化输出一个数到另一个数之间的整数&#xff0c;输出连续的数字、 固件间隔的数字、指定格式的数字。 一、使用方法 seq [选项] 尾数seq [选项] 首数 尾数seq [选项] 首数 增量 尾数 [选项] -f, --formatFORMAT use printf style floating-point FO…

深度学习 Day22——利用LSTM实现火灾温度预测

深度学习 Day22——利用LSTM实现火灾温度预测 文章目录深度学习 Day22——利用LSTM实现火灾温度预测一、前言二、我的环境三、LSTM介绍1、长期依赖的问题2、LSTM3、LSTM结构四、前期工作1、设置GPU2、导入数据3、数据可视化五、构建数据集1、设置X、y2、设置归一化3、划分数据集…

[附源码]Nodejs计算机毕业设计基于的校园失物招领平台Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置&#xff1a; Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分…

[附源码]Python计算机毕业设计高校学生综合素质测评系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

分析Linux 内核 SCSI IO 子系统

【推荐阅读】 浅析linux内核网络协议栈--linux bridge virtio-net 实现机制【一】&#xff08;图文并茂&#xff09; 怎么在Windows下使用Makefile文件 概述 LINUX 内核中 SCSI 子系统由 SCSI 上层&#xff0c;中间层和底层驱动模块 [1] 三部分组成&#xff0c;主要负责管…

PreSTU:一个专门为场景文本理解而设计的简单预训练模型

摘要&#xff1a;在视觉与语言&#xff08;V&L&#xff09;模型中&#xff0c;阅读和推理图像中的文本的能力往往是缺乏的。我们如何才能学习出强大的场景文本理解&#xff08;STU&#xff09;的V&L模型呢&#xff1f;本文分享自华为云社区《场景文本理解预训练PreSTU》…

C#编程基础(万字详解,这一篇就够了)

C#及其开发环境简介 C#概述 C#的编程功能 C#与.Net的关系 .Net C# C#的集成开发环境 Windows上编写C#程序 Linux/Mac OS上编写C#程序 运行第一个HelloWorld程序 C#基本语法 程序实例 C#基本语法 using关键字 class关键字 注释 成员变量 成员函数 实例化一个类…

【图像分割】粒子群优化指数熵图像分割【含Matlab源码 287期】

⛄一、图像分割简介 理论知识参考&#xff1a;【基础教程】基于matlab图像处理图像分割【含Matlab源码 191期】 ⛄二、部分源代码 %%无递推 clc; clear; Cimread(‘1.jpg’); Crgb2gray©; %Cimnoise(C,‘gaussian’,0,0.005); figure subplot(1,2,1) imshow© tic …

vue初级入门以及demo实现详解

vue的初级入门1&#xff0c;vue是什么2&#xff0c;vue的特点2.1&#xff0c;采用组件化模式2.2&#xff0c;声明式编码2.3&#xff0c;虚拟DOM Diff算法3&#xff0c;vue的环境的基本配置和使用3.1&#xff0c;在浏览器安装开发工具3.2&#xff0c;开发环境3.3&#xff0c;de…

C++--数据结构--图的相关概念及模拟实现--高阶0712

1. 图的基本概念 图&#xff08;G&#xff09;是由顶点&#xff08;V&#xff09;集合及顶点间的关系&#xff08;边 E&#xff09;组成的一种数据结构&#xff1b; 顶点&#xff1a;图中的结点&#xff0c;第i个顶点记作vi。 两个顶点vi和vj相关称作vi和vj之间有一条边。 …

04查找算法:顺序查找法、二分查找法

开始系统学习算法啦&#xff01;为后面力扣和蓝桥杯的刷题做准备&#xff01;这个专栏将记录自己学习算法是的笔记&#xff0c;包括概念&#xff0c;算法运行过程&#xff0c;以及代码实现&#xff0c;希望能给大家带来帮助&#xff0c;感兴趣的小伙伴欢迎评论区留言或者私信博…

技术分享 | 测试平台开发-前端开发之Vue.js 框架的使用(二)

首先将 Vue.js 下载到本地&#xff0c;本章就以本地的 Vue.js 为例。在本地创建一个工作区即创建一个文件夹&#xff0c;使用 vscode 打开&#xff0c;将 Vue.js 放到工作区目录下。 创建挂载元素 首先创建一个 index.html 的文件&#xff0c;使用 <script src"./vue…

educoder:Numpy图像处理

第1关&#xff1a;图像翻转 任务描述 本关任务&#xff1a;读取一副图片&#xff0c;实现图片的翻转。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a;1.如何读取和保存图像&#xff0c;2.图像的数组表示。 彩色图像 与人脑不同&#xff0c;计算机读入一张…

给视频智能配音怎么弄?一步一步让你学会配音操作

如今我们的生活变得越来越便捷化&#xff0c;因此越来越多的新鲜事物出现在了我们的眼前&#xff0c;例如配音。随着短视频逐渐火爆起来&#xff0c;相信屏幕前的你也剪辑过自己拍摄的视频&#xff0c;并将其发到各大社交平台上吧&#xff01;但是对于视频剪辑来说&#xff0c;…

HTML CSS

一、HTML 介绍 HTML 是一门语言&#xff0c;所有的网页都是用HTML 这门语言编写出来的。HTML(HyperText Markup Language)&#xff1a;超文本标记语言&#xff1a;&#xff08;1&#xff09;超文本&#xff1a;超越了文本的限制&#xff0c;比普通文本更强大。除了文字信息&…

2022 年值得了解的基础设施即代码工具清单

云计算的出现彻底改变了每个 IT 领域。不排除 IT 基础设施。管理员不得不手动配置资源并管理大型 Excel 表格中的数据的日子已经一去不复返了。在当今动态变化的网络需求下&#xff0c;人工维护 IT 基础设施的想法非常可怕。这就是基础设施即代码工具的用武之地。 简单地说&…

【PostgreSQL的“double buffers“刷脏机制和参数】

PostgreSQL数据库使用双缓存写数据&#xff0c;shared_buffer OS page cache,下图是PG与OS内存交互的过程 ,在PostgreSQL中&#xff0c;shared_buffers所代表的内存区域可以看成是一个以8KB的block为单位的数组&#xff0c;即最小的分配单位是8KB。这正好是一个page的大小&…