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

news2024/11/15 20:43:07

目录

一、用法精讲

34、pandas.DataFrame.to_parquet函数

34-1、语法

34-2、参数

34-3、功能

34-4、返回值

34-5、说明

34-6、用法

34-6-1、数据准备

34-6-2、代码示例

34-6-3、结果输出

35、pandas.read_sql_table函数

35-1、语法

35-2、参数

35-3、功能

35-4、返回值

35-5、说明

35-6、用法

35-6-1、数据准备

35-6-2、代码示例

35-6-3、结果输出 

36、pandas.read_sql_query函数

36-1、语法

36-2、参数

36-3、功能

36-4、返回值

36-5、说明

36-6、用法

36-6-1、数据准备

36-6-2、代码示例

36-6-3、结果输出 

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

34、pandas.DataFrame.to_parquet函数
34-1、语法
# 34、pandas.DataFrame.to_parquet函数
DataFrame.to_parquet(path=None, *, engine='auto', compression='snappy', index=None, partition_cols=None, storage_options=None, **kwargs)
Write a DataFrame to the binary parquet format.

This function writes the dataframe as a parquet file. You can choose different parquet backends, and have the option of compression. See the user guide for more details.

Parameters:
path
str, path object, file-like object, or None, default None
String, path object (implementing os.PathLike[str]), or file-like object implementing a binary write() function. If None, the result is returned as bytes. If a string or path, it will be used as Root Directory path when writing a partitioned dataset.

engine
{‘auto’, ‘pyarrow’, ‘fastparquet’}, default ‘auto’
Parquet library to use. If ‘auto’, then the option io.parquet.engine is used. The default io.parquet.engine behavior is to try ‘pyarrow’, falling back to ‘fastparquet’ if ‘pyarrow’ is unavailable.

compression
str or None, default ‘snappy’
Name of the compression to use. Use None for no compression. Supported options: ‘snappy’, ‘gzip’, ‘brotli’, ‘lz4’, ‘zstd’.

index
bool, default None
If True, include the dataframe’s index(es) in the file output. If False, they will not be written to the file. If None, similar to True the dataframe’s index(es) will be saved. However, instead of being saved as values, the RangeIndex will be stored as a range in the metadata so it doesn’t require much space and is faster. Other indexes will be included as columns in the file output.

partition_cols
list, optional, default None
Column names by which to partition the dataset. Columns are partitioned in the order they are given. Must be None if path is not a string.

storage_options
dict, optional
Extra options that make sense for a particular storage connection, e.g. host, port, username, password, etc. For HTTP(S) URLs the key-value pairs are forwarded to urllib.request.Request as header options. For other URLs (e.g. starting with “s3://”, and “gcs://”) the key-value pairs are forwarded to fsspec.open. Please see fsspec and urllib for more details, and for more examples on storage options refer here.

**kwargs
Additional arguments passed to the parquet library. See pandas io for more details.

Returns:
bytes if no path argument is provided else None.
34-2、参数

34-2-1、path(可选,默认值为None)指定要写入Parquet文件的路径。如果为None,则不会将DataFrame保存到文件,但通常会通过其他方式(如返回字节流)使用生成的Parquet数据。

34-2-2、engine(可选,默认值为'auto')指定用于写入Parquet文件的引擎。'auto'会自动选择可用的库(优先使用pyarrow,如果没有安装则使用fastparquet),'pyarrow'和 'fastparquet'是两个流行的Parquet库,各有特点和性能差异。

34-2-3、compression(可选,默认值为'snappy')指定用于Parquet文件的压缩方法,'snappy'是一种快速压缩算法,适合大多数情况,'gzip'和'brotli'提供更高的压缩率,但可能会降低写入和读取速度。如果设置为None,则不压缩数据。

34-2-4、index(可选,默认值为None)控制是否将DataFrame的索引写入Parquet文件。如果为True,则索引会被写入Parquet文件的_index列;如果为False,则不会写入索引;如果为None(默认值),则行为取决于engine的默认设置。

34-2-5、partition_cols(可选,默认值为None)指定用于分区的列名列表,分区是一种将表数据分割成更小、更易于管理的部分的技术,通常基于某些列的值,这有助于查询性能优化和数据管理。

34-2-6、storage_options(可选,默认值为None)用于配置存储选项的字典,如文件系统、认证信息等,这通常用于云存储服务(如AWS S3、Google Cloud Storage)或需要特殊配置的文件系统。

34-2-7、**kwargs(可选)其他关键字参数将传递给底层的Parquet引擎,这些参数依赖于所使用的引擎(pyarrow 或 fastparquet),并允许对写入过程进行更详细的控制。

34-3、功能

        将Pandas DataFrame对象写入Parquet文件格式。

34-4、返回值

34-4-1、如果提供了路径path参数,则to_parquet函数通常不会返回任何值(即返回值为None),这是因为数据已经被写入到指定的Parquet文件中。

34-4-2、如果没有提供路径参数,或者使用了类似io.BytesIO的对象作为路径,则函数会返回一个包含Parquet文件内容的字节流对象,这允许用户在不实际写入文件的情况下,将Parquet数据传输到其他系统或进行进一步处理。

34-5、说明

        Parquet是一种列式存储格式,特别适用于大规模数据集的高效存储和查询,相比于传统的行式存储格式,Parquet提供了更高的压缩率和更快的读取速度。

34-6、用法
34-6-1、数据准备
34-6-2、代码示例
# 34、pandas.DataFrame.to_parquet函数
import pandas as pd
# 创建一个示例DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
# 指定Parquet文件的保存路径
parquet_path = 'example.parquet'
# 使用to_parquet方法将DataFrame保存到Parquet文件
# 这里我们使用了默认的'snappy'压缩和'auto'引擎(通常会选择'pyarrow'如果已安装)
df.to_parquet(parquet_path, index=False)  # index=False 表示不将索引写入Parquet文件
# 注意:此时文件已经被保存到当前工作目录下的'example.parquet'文件中
# 你可以使用pandas.read_parquet来验证文件内容
# 读取Parquet文件以验证
read_back_df = pd.read_parquet(parquet_path)
print(read_back_df)
34-6-3、结果输出
# 34、pandas.DataFrame.to_parquet函数
#       Name  Age         City
# 0    Alice   25     New York
# 1      Bob   30  Los Angeles
# 2  Charlie   35      Chicago
35、pandas.read_sql_table函数
35-1、语法
# 35、pandas.read_sql_table函数
pandas.read_sql_table(table_name, con, schema=None, index_col=None, coerce_float=True, parse_dates=None, columns=None, chunksize=None, dtype_backend=_NoDefault.no_default)
Read SQL database table into a DataFrame.

Given a table name and a SQLAlchemy connectable, returns a DataFrame. This function does not support DBAPI connections.

Parameters:
table_namestr
Name of SQL table in database.

conSQLAlchemy connectable or str
A database URI could be provided as str. SQLite DBAPI connection mode not supported.

schemastr, default None
Name of SQL schema in database to query (if database flavor supports this). Uses default schema if None (default).

index_colstr or list of str, optional, default: None
Column(s) to set as index(MultiIndex).

coerce_floatbool, default True
Attempts to convert values of non-string, non-numeric objects (like decimal.Decimal) to floating point. Can result in loss of Precision.

parse_dateslist or dict, default None
List of column names to parse as dates.

Dict of {column_name: format string} where format string is strftime compatible in case of parsing string times or is one of (D, s, ns, ms, us) in case of parsing integer timestamps.

Dict of {column_name: arg dict}, where the arg dict corresponds to the keyword arguments of pandas.to_datetime() Especially useful with databases without native Datetime support, such as SQLite.

columnslist, default None
List of column names to select from SQL table.

chunksizeint, default None
If specified, returns an iterator where chunksize is the number of rows to include in each chunk.

dtype_backend{‘numpy_nullable’, ‘pyarrow’}, default ‘numpy_nullable’
Back-end data type applied to the resultant DataFrame (still experimental). Behaviour is as follows:

"numpy_nullable": returns nullable-dtype-backed DataFrame (default).

"pyarrow": returns pyarrow-backed nullable ArrowDtype DataFrame.

New in version 2.0.

Returns:
DataFrame or Iterator[DataFrame]
A SQL table is returned as two-dimensional data structure with labeled axes.
35-2、参数

35-2-1、table_name(必须)要从数据库中读取的表的名称。

35-2-2、con(必须)用于数据库连接的对象,通常是一个SQLAlchemy的engine对象。

35-2-3、schema(可选,默认值为None)指定表的schema(模式),在大多数SQL数据库中schema是用于组织数据库对象(如表、视图等)的命名空间,不是所有数据库都支持schema,MySQL默认不支持,而PostgreSQL支持。

35-2-4、index_col(可选,默认值为None)将一列或多列作为返回的DataFrame的索引。默认情况下(None),不设置索引。如果指定了单个列名,则将该列用作索引;如果指定了列名的列表,则将这些列用作多级索引。

35-2-5、coerce_float(可选,默认值为True)尝试将非字符串、非数字对象转换为浮点数,如果设置为False,则不会进行这种转换。

35-2-6、parse_dates(可选,默认值为None)指定要解析为日期时间类型的列,可以是一个列名的列表,也可以是一个字典,其中键是列名,值是要用于解析日期的格式字符串,如果设置为None(默认值),则不解析任何列。

35-2-7、columns(可选,默认值为None)指定要从表中读取的列名列表,如果为None(默认值),则读取所有列。

35-2-8、chunksize(可选,默认值为None)如果指定了,则返回一个迭代器,该迭代器每次产生指定大小的DataFrame块,这对于处理大型数据集非常有用,因为它允许你在不将所有数据一次性加载到内存中的情况下逐块处理数据。如果为None(默认值),则一次性返回整个DataFrame。

35-2-9、dtype_backend(可选)内部调用,通常不需要用户直接设置。

35-3、功能

        从SQL数据库中读取指定的表,并将该表的数据加载到一个pandas DataFrame中。

35-4、返回值

        返回值是一个pandas DataFrame,这个DataFrame包含了从指定SQL表中检索到的数据,并根据提供的参数进行了相应的转换和解析。

35-5、说明

        DataFrame是一个二维、大小可变的、潜在的异构表格数据结构,具有标记的轴(行和列),它类似于Excel中的表格或SQL表,但更灵活,因为pandas提供了大量的数据处理和分析功能。

35-6、用法
35-6-1、数据准备
# 确保已经安装了sqlalchemy库
# 1、创建数据库表
from sqlalchemy import create_engine, Column, Integer, String, MetaData
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
# 数据库连接配置(使用 SQLAlchemy 的 URI 格式)
DATABASE_URI = 'mysql+pymysql://root:123456@127.0.0.1/test_database?charset=utf8mb4'
# 创建一个引擎实例
engine = create_engine(DATABASE_URI, echo=True)  # echo=True 用于显示生成的 SQL 语句,调试时可以打开
# 创建基类
Base = declarative_base()
# 定义模型类
class MyElsaTable(Base):
    __tablename__ = 'myelsa_table'
    name = Column(String(255), nullable=False)
    ID_Card = Column(String(255), primary_key=True)  # 设置为主键
    age = Column(Integer, nullable=False)
    city = Column(String(255), nullable=False)
# 创建表(如果表不存在)
Base.metadata.create_all(engine)
# 如果你想要使用 ORM 来进行操作,可以创建一个 session 类
Session = sessionmaker(bind=engine)
session = Session()
# 这里不需要执行 SQL 语句或提交更改,因为 create_all 方法会自动处理
# 关闭 session(如果需要的话,但在这种情况下我们并没有进行任何 ORM 操作)
# session.close()
print("Table myelsa_table created successfully!")

# 2、在数据库表中新增记录
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
from sqlalchemy.exc import SQLAlchemyError
# 定义基类
Base = declarative_base()
# 定义数据库模型类
class MyElsaTable(Base):
    __tablename__ = 'myelsa_table'
    ID_Card = Column(String, primary_key=True)
    name = Column(String)
    age = Column(Integer)
    city = Column(String)
    def __repr__(self):
        return f"<MyElsaTable(ID_Card={self.ID_Card}, name={self.name}, age={self.age}, city={self.city})>"
# 数据库连接配置
config = {
    'username': 'root',  # 替换为你的MySQL用户名
    'password': '123456',  # 替换为你的MySQL密码
    'host': '127.0.0.1',  # 如果数据库在远程服务器上,请替换为相应的主机名或IP地址
    'database': 'test_database',  # 数据库名
}
# 创建数据库引擎
engine = create_engine(
    f'mysql+pymysql://{config["username"]}:{config["password"]}@{config["host"]}/{config["database"]}')
# 确保所有表都已创建(可选)
Base.metadata.create_all(engine)
# 创建会话类
Session = sessionmaker(bind=engine)
# 定义要插入的数据
new_record = {
    'name': 'Myelsa',
    'ID_Card': '443689564710526448',
    'age': 18,
    'city': 'Guangzhou'
}
try:
    # 使用上下文管理器自动管理会话
    with Session() as session:
        # 创建新的模型实例
        new_entry = MyElsaTable(**new_record)
        # 将新实例添加到会话中
        session.add(new_entry)
        # 提交更改
        session.commit()
        print("Record inserted successfully!")
except SQLAlchemyError as e:
    print(f"Error: '{e}'")
    # 在使用上下文管理器时,无需显式回滚,因为上下文管理器会在退出时处理它
35-6-2、代码示例
# 35、pandas.read_sql_table函数
import pandas as pd
from sqlalchemy import create_engine
# 数据库连接信息
username = 'root'
password = '123456'
host = '127.0.0.1'
port = 3306
database = 'test_database'
# 使用SQLAlchemy创建数据库引擎
# 注意:这里使用mysql+pymysql://作为前缀,如果你使用的是mysqlclient,则使用mysql+mysqldb://
# 根据你的MySQL版本和驱动,你可能需要调整这个前缀
engine = create_engine(f'mysql+pymysql://{username}:{password}@{host}:{port}/{database}')
# 调用read_sql_table函数
# 假设我们要读取的表名为'your_table_name'
table_name = 'myelsa_table'
df = pd.read_sql_table(table_name, con=engine, schema=None, index_col=None, coerce_float=True, parse_dates=None,
                       columns=None, chunksize=None)
# 显示DataFrame的前几行以验证数据
print(df.head())
35-6-3、结果输出 
# 35、pandas.read_sql_table函数
#      name             ID_Card  age       city
# 0  Myelsa  443689564710526448   18  Guangzhou
36、pandas.read_sql_query函数
36-1、语法
# 36、pandas.read_sql_query函数
pandas.read_sql_query(sql, con, index_col=None, coerce_float=True, params=None, parse_dates=None, chunksize=None, dtype=None, dtype_backend=_NoDefault.no_default)
Read SQL query into a DataFrame.

Returns a DataFrame corresponding to the result set of the query string. Optionally provide an index_col parameter to use one of the columns as the index, otherwise default integer index will be used.

Parameters:
sqlstr SQL query or SQLAlchemy Selectable (select or text object)
SQL query to be executed.

conSQLAlchemy connectable, str, or sqlite3 connection
Using SQLAlchemy makes it possible to use any DB supported by that library. If a DBAPI2 object, only sqlite3 is supported.

index_colstr or list of str, optional, default: None
Column(s) to set as index(MultiIndex).

coerce_floatbool, default True
Attempts to convert values of non-string, non-numeric objects (like decimal.Decimal) to floating point. Useful for SQL result sets.

paramslist, tuple or mapping, optional, default: None
List of parameters to pass to execute method. The syntax used to pass parameters is database driver dependent. Check your database driver documentation for which of the five syntax styles, described in PEP 249’s paramstyle, is supported. Eg. for psycopg2, uses %(name)s so use params={‘name’ : ‘value’}.

parse_dateslist or dict, default: None
List of column names to parse as dates.

Dict of {column_name: format string} where format string is strftime compatible in case of parsing string times, or is one of (D, s, ns, ms, us) in case of parsing integer timestamps.

Dict of {column_name: arg dict}, where the arg dict corresponds to the keyword arguments of pandas.to_datetime() Especially useful with databases without native Datetime support, such as SQLite.

chunksizeint, default None
If specified, return an iterator where chunksize is the number of rows to include in each chunk.

dtypeType name or dict of columns
Data type for data or columns. E.g. np.float64 or {‘a’: np.float64, ‘b’: np.int32, ‘c’: ‘Int64’}.

New in version 1.3.0.

dtype_backend{‘numpy_nullable’, ‘pyarrow’}, default ‘numpy_nullable’
Back-end data type applied to the resultant DataFrame (still experimental). Behaviour is as follows:

"numpy_nullable": returns nullable-dtype-backed DataFrame (default).

"pyarrow": returns pyarrow-backed nullable ArrowDtype DataFrame.

New in version 2.0.

Returns:
DataFrame or Iterator[DataFrame].
36-2、参数

36-2-1、sql(必须)要执行的SQL查询语句,这个参数可以是一个字符串,包含要执行的SQL代码,或者是一个SQLAlchemy的Selectable对象(如一个表或查询)。

36-2-2、con(必须)用于执行SQL查询的数据库连接,这通常是一个SQLAlchemy的engine对象。

36-2-3、index_col(可选,默认值为None)将一列或多列作为返回的DataFrame的索引,默认情况下(None),不设置索引。如果指定了单个列名,则将该列用作索引;如果指定了列名的列表,则将这些列用作多级索引。

36-2-4、coerce_float(可选,默认值为True)尝试将非字符串、非数字对象转换为浮点数,这有助于确保数字类型的一致性,但可能会引入精度损失。

36-2-5、params(可选,默认值为None)一个列表、元组或字典,用于SQL查询中的参数替换,这有助于防止SQL注入攻击,并允许你安全地传递查询参数,如果提供了params,它们将在查询执行之前被替换到SQL字符串中的占位符中。

36-2-6、parse_dates(可选,默认值为None)指定要解析为日期时间类型的列,可以是一个列名的列表,也可以是一个字典,其中键是列名,值是要用于解析日期的格式字符串,如果设置为None(默认值),则不解析任何列。

36-2-7、chunksize(可选,默认值为None)如果指定了,则返回一个迭代器,该迭代器每次产生指定大小的DataFrame块,这对于处理大型数据集非常有用,因为它允许你在不将所有数据一次性加载到内存中的情况下逐块处理数据,如果为None(默认值),则一次性返回整个DataFrame。

36-2-8、dtype(可选,默认值为None)一个字典,用于指定列的数据类型,这允许你覆盖SQLAlchemy或数据库推断的数据类型,键是列名,值是你希望该列具有的数据类型(如np.float64、str 等)。

36-2-9、dtype_backend(可选)内部调用,通常不需要用户直接设置。

36-3、功能

        用于从数据库中执行SQL查询并将查询结果直接加载到pandas的DataFrame中。

36-4、返回值

        返回值是一个pandas DataFrame对象,该对象包含了SQL查询的结果,DataFrame是一个二维、大小可变的、潜在的异构表格数据结构,具有标记的轴(行和列),非常类似于Excel中的表格或SQL表,返回的DataFrame可以直接用于进一步的数据分析和处理。

36-5、说明

        无

36-6、用法
36-6-1、数据准备
# 确保已经安装了sqlalchemy库
# 1、创建数据库表
from sqlalchemy import create_engine, Column, Integer, String, MetaData
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
# 数据库连接配置(使用 SQLAlchemy 的 URI 格式)
DATABASE_URI = 'mysql+pymysql://root:123456@127.0.0.1/test_database?charset=utf8mb4'
# 创建一个引擎实例
engine = create_engine(DATABASE_URI, echo=True)  # echo=True 用于显示生成的 SQL 语句,调试时可以打开
# 创建基类
Base = declarative_base()
# 定义模型类
class MyElsaTable(Base):
    __tablename__ = 'myelsa_table'
    name = Column(String(255), nullable=False)
    ID_Card = Column(String(255), primary_key=True)  # 设置为主键
    age = Column(Integer, nullable=False)
    city = Column(String(255), nullable=False)
# 创建表(如果表不存在)
Base.metadata.create_all(engine)
# 如果你想要使用 ORM 来进行操作,可以创建一个 session 类
Session = sessionmaker(bind=engine)
session = Session()
# 这里不需要执行 SQL 语句或提交更改,因为 create_all 方法会自动处理
# 关闭 session(如果需要的话,但在这种情况下我们并没有进行任何 ORM 操作)
# session.close()
print("Table myelsa_table created successfully!")

# 2、在数据库表中新增记录
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
from sqlalchemy.exc import SQLAlchemyError
# 定义基类
Base = declarative_base()
# 定义数据库模型类
class MyElsaTable(Base):
    __tablename__ = 'myelsa_table'
    ID_Card = Column(String, primary_key=True)
    name = Column(String)
    age = Column(Integer)
    city = Column(String)
    def __repr__(self):
        return f"<MyElsaTable(ID_Card={self.ID_Card}, name={self.name}, age={self.age}, city={self.city})>"
# 数据库连接配置
config = {
    'username': 'root',  # 替换为你的MySQL用户名
    'password': '123456',  # 替换为你的MySQL密码
    'host': '127.0.0.1',  # 如果数据库在远程服务器上,请替换为相应的主机名或IP地址
    'database': 'test_database',  # 数据库名
}
# 创建数据库引擎
engine = create_engine(
    f'mysql+pymysql://{config["username"]}:{config["password"]}@{config["host"]}/{config["database"]}')
# 确保所有表都已创建(可选)
Base.metadata.create_all(engine)
# 创建会话类
Session = sessionmaker(bind=engine)
# 定义要插入的数据
new_record = {
    'name': 'Lucy',
    'ID_Card': '443689564710526449',
    'age': 28,
    'city': 'Shenzhen'
}
try:
    # 使用上下文管理器自动管理会话
    with Session() as session:
        # 创建新的模型实例
        new_entry = MyElsaTable(**new_record)
        # 将新实例添加到会话中
        session.add(new_entry)
        # 提交更改
        session.commit()
        print("Record inserted successfully!")
except SQLAlchemyError as e:
    print(f"Error: '{e}'")
    # 在使用上下文管理器时,无需显式回滚,因为上下文管理器会在退出时处理它
36-6-2、代码示例
# 36、pandas.read_sql_query函数
import pandas as pd
from sqlalchemy import create_engine
# 数据库连接信息
username = 'root'
password = '123456'
host = '127.0.0.1'
port = 3306
database = 'test_database'
# 使用 SQLAlchemy 创建数据库引擎
# 注意:这里使用 mysql+pymysql:// 作为前缀,如果你使用的是 mysqlclient,则使用 mysql+mysqldb://
engine = create_engine(f'mysql+pymysql://{username}:{password}@{host}:{port}/{database}')
# SQL 查询语句
sql_query = """  
SELECT name, ID_Card, age, city  
FROM myelsa_table  
WHERE age > 18  
ORDER BY city DESC  
LIMIT 100;  
"""
# 使用read_sql_query执行查询并加载数据到DataFrame
df = pd.read_sql_query(sql_query, con=engine, index_col='ID_Card', coerce_float=True, parse_dates=['city'])
# 显示 DataFrame 的前几行以验证数据
print(df.head())
36-6-3、结果输出 
# 36、pandas.read_sql_query函数
#                     name  age city
# ID_Card                           
# 443689564710526449  Lucy   28  NaT

二、推荐阅读

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

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

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

相关文章

【Neo4j】实战 (数据库技术丛书)学习笔记

Neo4j实战 (数据库技术丛书) 第1章演示了应用Neo4j作为图形数据库对改进性能和扩展性的可能性, 也讨论了对图形建模的数据如何正好适应于Neo4j数据模型,现在到了该动 手实践的时间了。第一章 概述 Neo4j将数据作为顶点和边存储(或者用Neo4j术语,节点和关系存 储)。用户被定…

C++初学者指南-5.标准库(第一部分)--顺序容器

C初学者指南-5.标准库(第一部分)–顺序容器 文章目录 C初学者指南-5.标准库(第一部分)--顺序容器标准顺序容器常见特点规律性&#xff1a;复制&#xff0c;分配&#xff0c;比较类型推导(C17)常用接口部分 array<T,size>vector\<T>C 的默认容器快速回顾迭代器范围插…

微调Qwen2大语言模型加入领域知识

这里写自定义目录标题 试用Qwen2做推理安装LLaMA-Factory使用自有数据集微调Qwen2验证微调效果 试用Qwen2做推理 参考&#xff1a;https://qwen.readthedocs.io/en/latest/getting_started/quickstart.html from transformers import AutoModelForCausalLM, AutoTokenizer de…

短视频矩阵系统多账号搭建技术源码(saas开发者技术独立搭建)

在构建云服务环境以部署虚拟机方面&#xff0c;以Amazon Web Services&#xff08;AWS&#xff09;为示例&#xff0c;需采购并配置适当数量的EC2实例以及相关网络设施。 接下来&#xff0c;根据业务需求&#xff0c;应创建多个社交媒体平台如抖音和快手的官方账户&#xff0c;…

便宜SSL证书有哪些平台推荐 域名SSL证书作用

在数字化时代&#xff0c;网络安全已成为我们日常生活和工作中不可或缺的一部分。 申请便宜SSL证书步骤 1、登录来此加密网站&#xff0c;输入域名&#xff0c;可以勾选泛域名和包含根域。 2、选择加密方式&#xff0c;一般选择默认就可以了&#xff0c;也可以自定义CSR。 3…

css 自定义变量 var()

现在新版本的UI框架&#xff0c;基本使用CSS变量 css的一个函数&#xff1a;var()&#xff0c;此函数在有些场景下能优化不少代码量。 var() 介绍 借用下W3C的定义&#xff1a; var() 函数用于插入自定义的属性值&#xff0c;如果一个属性值在多处被使用&#xff0c;该方法就…

MySQL--函数、约束、多表查询

函数 函数指一段可以直接被另一段程序调用的程序或代码 字符串函数、数值函数、日期函数、流程函数 字符串函数 数值函数 日期函数 datediff&#xff08;date1,date2&#xff09;&#xff1a;date1-date2 流程函数 约束 概念&#xff1a;约束是作用于表中字段上的规则&…

半导体硅太阳能电池基板的湿化学处理及电子界面特性

硅(Si)在半导体器件制造中的大多数技术应用都是基于这种材料的特定界面性能。二氧化硅&#xff08;二氧化硅&#xff09;可以通过简单的氧化方法在硅表面制备&#xff0c;其特点是高化学和电稳定性。晶体硅在光伏应用占主导地位&#xff0c;全球近90%的太阳能电池生产是基于多晶…

携手并进 共创未来丨东软睿驰与中国移动上海产业研究院达成战略合作

2024年7月10日&#xff0c;东软睿驰与中国移动上海产业研究院(以下简称“上研院”)在沈阳隆重举行战略合作签约仪式。东软睿驰董事长兼CEO王勇峰、高级副总裁邢志刚与上研院董事长王建中、副总经理黄刚等领导出席签约仪式。 图为东软睿驰与上研院战略合作签约仪式现场 东软睿驰…

新手小白的pytorch学习第一弹-------张量

1 导入pytorch包 import torch2 创建张量&#xff08;tensor&#xff09; scalar标量 scalar torch.tensor(7) scalartensor(7)scalar.ndim查看scalar的维度&#xff0c;因为scalar是标量&#xff0c;所以维度为0 0scalar.shapetorch.Size([])torch.item()7vector&#xf…

Qt http网络编程

学习目标&#xff1a;Qt HTTP网络编程 学习内容 1、Http就是超文本传输协议(Hypertext Transfer Protocol)的缩写,它定义了浏览器和网页服务器之间的通信规范。是一个简单的请求一响应协议&#xff0c;它通常运行在 TCP 之上。 作用:规定 WWW 服务器与浏览器之间信息传递规范…

【卡尔曼滤波器】DR_CAN 2 学习笔记:_数据融合_协方差矩阵_状态空间方程_观测器问题

【卡尔曼滤波器】2_数学基础_数据融合_协方差矩阵_状态空间方程_观测器问题 非常重要1 数据融合 data fusion 有俩秤,各自有自己的正态分布:俩秤是相互独立的:俩秤都不准,但标准差都符合正态分布 正态分布又叫做高斯分布 向左、向右 都是2, 标准差是2覆盖了68.4 %的可能:…

Oracle RMAN增量备份

1、查询哪部分的增量 sql>set line 500 pages 0 sql>select sequence#,applied,first_change#||,next_change#||,to_char(completion_time,yyyy-mm-dd hh24:MI:SS) from v$archived_log where completion_time>sysdate-1; 2、rman备份(并行保存到指定路径) run{all…

GitLab CI/CD实现项目自动化部署

1 GitLab CI/CD介绍 GitLab CI/CD 是 GitLab 中集成的一套用于软件开发的持续集成&#xff08;Continuous Integration&#xff09;、持续交付&#xff08;Continuous Delivery&#xff09;和持续部署&#xff08;Continuous Deployment&#xff09;工具。这套系统允许开发团队…

org.springframework.boot.autoconfigure.EnableAutoConfiguration=XXXXX的作用是什么?

org.springframework.boot.autoconfigure.EnableAutoConfigurationXXXXXXX 这一配置项在 Spring Boot 项目中的作用如下&#xff1a; 自动配置类的指定&#xff1a; 这一配置将 EnableAutoConfiguration 设置为 cn.geek.javadatamanage.config.DataManageAutoConfiguration&…

react学习——25redux实现求和案例(完整版)

1、目录结构 2、count/index.js import React, {Component} from "react"; //引入store,用于获取数据 import store from ../../redux/store //引入actionCreator 专门创建action对象 import {createDecrementAction,createIncrementAction} from ../../redux/coun…

Linux基础知识(十六)shell脚本编程

一、简介 用户通过shell向计算机发送指令计算机通过shell给用户返回指令的执行结果 1.1 通过shell编程可以达到的效果 提高工作效率可以实现自动化 1.2 需要学习的内容 Linuxshell的语法规范 1.3 编写shell的流程 第一步&#xff1a;用vi/vim创建一个.sh的文件第二步&am…

利用原生JavaScript实现匹配搜索结果的网页内容高亮

昨天在用Anki的时候&#xff0c;复习笔记时想在笔记的解析里快速查找内容&#xff0c;于是探索了一下将匹配的搜索结果高亮。开始想不用第三方库直接实现&#xff0c;结果匹配的文本被HTML标签隔断时不能成功匹配&#xff0c;后来用到了jquery的mark.js库才简单实现。事后我想看…

vue中v-if与v-show的区别

在 Vue.js 中&#xff0c;v-if 和 v-show 都是用来控制元素显示与隐藏的指令&#xff0c;但它们之间有几个关键的区别&#xff1a; 直接上图 一. 条件渲染方式不同 v-if&#xff1a; 真正的条件渲染&#xff1a;v-if 指令会根据表达式的真假来销毁或重新创建 DOM 元素及其…

拟合衰减振动模型,估算阻尼比和阻尼系数

拟合衰减振动模型&#xff0c;估算阻尼比和阻尼系数 flyfish 衰减振动模型 在自由振动系统中&#xff0c;阻尼振动可以用以下公式描述&#xff1a; x ( t ) x 0 e − ζ ω n t cos ⁡ ( ω d t ϕ ) x(t) x_0 e^{-\zeta \omega_n t} \cos(\omega_d t \phi) x(t)x0​e−…