豆瓣图书数据采集与可视化分析(三)- 豆瓣图书数据统计分析

news2025/4/26 10:19:59

文章目录

  • 前言
  • 一、数据读取与保存
    • 1. 读取清洗后数据
    • 2. 保存数据到CSV文件
    • 3. 保存数据到MySQL数据库
  • 二、不同分类统计分析
    • 1. 不同分类的图书数量统计分析
    • 2. 不同分类的平均评分统计分析
    • 3. 不同分类的平均评价人数统计分析
    • 4. 不同分类的平均价格统计分析
    • 5. 分类综合分析
  • 三、不同年份统计分析
    • 1. 不同年份出版的图书数量统计分析
    • 2. 不同年份出版的图书平均评分分析
    • 3. 不同年份出版的图书平均评价人数分析
    • 4. 不同年份出版的图书平均价格分析
    • 5. 年份综合分析
  • 四、不同作者统计分析
    • 1. 不同作者的图书数量统计分析
    • 2. 不同作者的平均评分分析
    • 3. 不同作者的平均评价人数分析
    • 4. 不同作者的平均价格分析
    • 5. 作者综合分析
  • 五、不同出版社分析
    • 1. 不同出版社的图书数量统计分析
    • 2. 不同出版社的平均评分分析
    • 3. 不同出版社的平均评价人数分析
    • 4. 不同出版社的平均价格分析
    • 5. 出版社综合分析
  • 六、其他分析
    • 1. 图书评分分布分析
    • 2. 图书价格分布分析
    • 3. 译者翻译的图书数量统计分析(前15)
    • 4. 评价人数多的图书分析(前15)
    • 5. 评分最高的图书分析(前15)
    • 6. 评价人数最多且评分高的图书分析(前15)
  • 七、完整代码


前言

本项目旨在通过对豆瓣图书数据集的详细分析,挖掘其中隐藏的规律和趋势,为图书出版行业、读者以及相关研究人员提供有价值的参考。从数据读取与保存这一基础环节出发,构建了完善的数据处理流程,确保能够高效地获取和存储清洗后的高质量数据,为后续分析筑牢根基。在数据分析阶段,从多个维度展开深入探究。在不同分类统计分析中,详细剖析了各类图书在数量、平均评分、平均评价人数以及平均价格等方面的表现,有助于出版方精准把握市场需求,读者快速定位感兴趣的图书类别。针对不同年份的统计分析,能够清晰洞察图书出版趋势随时间的演变,了解不同年份图书在质量、受欢迎程度和价格上的变化规律。而对不同作者和出版社的分析,则为评估创作者和出版机构的影响力提供了量化依据。此外,其他分析板块涵盖了图书评分分布、价格分布、热门图书筛选等多个视角,进一步丰富了对图书市场的认知。


一、数据读取与保存

1. 读取清洗后数据

def load_data(csv_file_path):
    try:
        data = pd.read_csv(csv_file_path)
        return data
    except FileNotFoundError:
        print("未找到指定的 CSV 文件,请检查文件路径和文件名。")
    except Exception as e:
        print(f"加载数据时出现错误: {e}")

清洗后的部分数据如下图所示:

在这里插入图片描述

2. 保存数据到CSV文件

def save_to_csv(data, csv_file_path):
    # 使用 pathlib 处理文件路径
    path = Path(csv_file_path)
    # 检查文件所在目录是否存在,如果不存在则创建
    path.parent.mkdir(parents=True, exist_ok=True)
    data.to_csv(csv_file_path, index=False, encoding='utf-8-sig', mode='w', header=True)
    print(f'清洗后的数据已保存到 {csv_file_path} 文件')

3. 保存数据到MySQL数据库

def save_to_mysql(data, table_name):
    engine = create_engine(f'mysql+mysqlconnector://root:zxcvbq@127.0.0.1:3306/douban')
    data.to_sql(table_name, con=engine, index=False, if_exists='replace')
    print(f'清洗后的数据已保存到 {table_name} 表')

二、不同分类统计分析

1. 不同分类的图书数量统计分析

def category_count_analysis(data):
    # 统计每个分类的图书数量
    category_counts = data['category_name'].value_counts()
    category_counts = category_counts.reset_index()
    category_counts.columns = ['category_name', 'count']
    save_to_csv(category_counts, './结果输出层/数据分析结果数据/分类图书数量统计分析.csv')
    save_to_mysql(category_counts, '分类图书数量统计分析')

分析结果如下图所示:

在这里插入图片描述

2. 不同分类的平均评分统计分析

def category_rating_analysis(data):
    # 计算每个分类的平均评分
    category_ratings = data.groupby('category_name')['rating'].mean().round(1)
    category_ratings = category_ratings.reset_index()
    category_ratings.columns = ['category_name', 'avg_rating']
    save_to_csv(category_ratings, './结果输出层/数据分析结果数据/每个分类的平均评分统计分析.csv')
    save_to_mysql(category_ratings, '每个分类的平均评分统计分析')

分析结果如下图所示:

在这里插入图片描述

3. 不同分类的平均评价人数统计分析

def category_rating_count_analysis(data):
    # 计算每个分类的平均评价人数
    category_rating_counts = data.groupby('category_name')['rating_count'].mean().round(0)
    category_rating_counts = category_rating_counts.reset_index()
    category_rating_counts.columns = ['category_name', 'avg_rating_count']
    save_to_csv(category_rating_counts, './结果输出层/数据分析结果数据/每个分类的平均评价人数统计分析.csv')
    save_to_mysql(category_rating_counts, '每个分类的平均评价人数统计分析')

分析结果如下图所示:

在这里插入图片描述

4. 不同分类的平均价格统计分析

def category_price_analysis(data):
    # 计算每个分类的平均价格
    category_prices = data.groupby('category_name')['price'].mean().round(1)
    category_prices = category_prices.reset_index()
    category_prices.columns = ['category_name', 'avg_price']
    save_to_csv(category_prices, './结果输出层/数据分析结果数据/每个分类的平均价格统计分析.csv')
    save_to_mysql(category_prices, '每个分类的平均价格统计分析')

分析结果如下图所示:

在这里插入图片描述

5. 分类综合分析

def category_analysis(data):
    # 统计每个分类的图书数量
    category_counts = data['category_name'].value_counts()
    category_counts = category_counts.reset_index()
    category_counts.columns = ['category_name', 'count']
    # 计算每个分类的平均评分
    category_ratings = data.groupby('category_name')['rating'].mean().round(1)
    category_ratings = category_ratings.reset_index()
    category_ratings.columns = ['category_name', 'avg_rating']
    # 计算每个分类的平均评价人数
    category_rating_counts = data.groupby('category_name')['rating_count'].mean().round(0)
    category_rating_counts = category_rating_counts.reset_index()
    category_rating_counts.columns = ['category_name', 'avg_rating_count']
    # 计算每个分类的平均价格
    category_prices = data.groupby('category_name')['price'].mean().round(1)
    category_prices = category_prices.reset_index()
    category_prices.columns = ['category_name', 'avg_price']
    # 合并四个结果
    merged_result = pd.merge(category_counts, category_ratings, on='category_name', how='outer')
    merged_result = pd.merge(merged_result, category_rating_counts, on='category_name', how='outer')
    merged_result = pd.merge(merged_result, category_prices, on='category_name', how='outer')
    # 保存合并后的结果到 CSV 文件
    save_to_csv(merged_result, './结果输出层/数据分析结果数据/每种分类的图书数量和平均评分和平均评价人数和平均价格统计分析.csv')
    save_to_mysql(merged_result, '每种分类的图书数量和平均评分和平均评价人数和平均价格统计分析')

分析结果如下图所示:

在这里插入图片描述


三、不同年份统计分析

1. 不同年份出版的图书数量统计分析

def year_count_analysis(data):
    # 统计每年出版的图书数量
    year_counts = data['publish_year'].value_counts()
    year_counts = year_counts.reset_index()
    # 按照年份升序排序
    year_counts = year_counts.sort_values(by='publish_year')
    year_counts.columns = ['publish_year', 'count']
    save_to_csv(year_counts, './结果输出层/数据分析结果数据/每年出版的图书数量统计分析.csv')
    save_to_mysql(year_counts, '每年出版的图书数量统计分析')

分析结果如下图所示:

在这里插入图片描述

2. 不同年份出版的图书平均评分分析

def year_rating_analysis(data):
    year_ratings = data.groupby('publish_year')['rating'].mean().round(1)
    year_ratings = year_ratings.reset_index()
    year_ratings = year_ratings.sort_values(by='publish_year')
    year_ratings.columns = ['publish_year', 'avg_rating']
    save_to_csv(year_ratings, './结果输出层/数据分析结果数据/每年出版的图书平均评分分析.csv')
    save_to_mysql(year_ratings, '每年出版的图书平均评分分析')

分析结果如下图所示:

在这里插入图片描述

3. 不同年份出版的图书平均评价人数分析

def year_rating_count_analysis(data):
    year_rating_counts = data.groupby('publish_year')['rating_count'].mean().round(0)
    year_rating_counts = year_rating_counts.reset_index()
    year_rating_counts = year_rating_counts.sort_values(by='publish_year')
    year_rating_counts.columns = ['publish_year', 'avg_rating_count']
    save_to_csv(year_rating_counts, './结果输出层/数据分析结果数据/每年出版图书平均评价人数分析.csv')
    save_to_mysql(year_rating_counts, '每年出版图书平均评价人数分析')

分析结果如下图所示:

在这里插入图片描述

4. 不同年份出版的图书平均价格分析

def year_price_analysis(data):
    year_prices = data.groupby('publish_year')['price'].mean().round(1)
    year_prices = year_prices.reset_index()
    year_prices = year_prices.sort_values(by='publish_year')
    year_prices.columns = ['publish_year', 'avg_price']
    save_to_csv(year_prices, './结果输出层/数据分析结果数据/每年出版图书平均价格分析.csv')
    save_to_mysql(year_prices, '每年出版图书平均价格分析')

分析结果如下图所示:

在这里插入图片描述

5. 年份综合分析

def year_analysis(data):
    # 每年出版的图书数量统计分析
    year_counts = data['publish_year'].value_counts()
    year_counts = year_counts.reset_index()
    year_counts = year_counts.sort_values(by='publish_year')
    year_counts.columns = ['publish_year', 'count']
    # 每年出版的图书平均评分分析
    year_ratings = data.groupby('publish_year')['rating'].mean().round(1)
    year_ratings = year_ratings.reset_index()
    year_ratings = year_ratings.sort_values(by='publish_year')
    year_ratings.columns = ['publish_year', 'avg_rating']
    # 每年出版的图书平均评价人数分析
    year_rating_counts = data.groupby('publish_year')['rating_count'].mean().round(0)
    year_rating_counts = year_rating_counts.reset_index()
    year_rating_counts = year_rating_counts.sort_values(by='publish_year')
    year_rating_counts.columns = ['publish_year', 'avg_rating_count']
    # 每年出版的图书平均价格分析
    year_prices = data.groupby('publish_year')['price'].mean().round(1)
    year_prices = year_prices.reset_index()
    year_prices = year_prices.sort_values(by='publish_year')
    # 合并四个结果
    merged_result = pd.merge(year_counts, year_ratings, on='publish_year', how='outer')
    merged_result = pd.merge(merged_result, year_rating_counts, on='publish_year', how='outer')
    merged_result = pd.merge(merged_result, year_prices, on='publish_year', how='outer')
    # 保存合并后的结果到 CSV 文件
    save_to_csv(merged_result, './结果输出层/数据分析结果数据/每年出版图书数量和平均评分和平均价格和平均评价人数分析.csv')
    save_to_mysql(merged_result, '每年出版图书数量和平均评分和平均价格和平均评价人数分析')

分析结果如下图所示:

在这里插入图片描述


四、不同作者统计分析

1. 不同作者的图书数量统计分析

def author_count_analysis(data):
    # 统计每个作者的图书数量
    author_counts = data['author'].value_counts()
    author_counts = author_counts.reset_index()
    author_counts.columns = ['author', 'count']
    save_to_csv(author_counts, './结果输出层/数据分析结果数据/作者图书数量统计分析.csv')
    save_to_mysql(author_counts, '作者图书数量统计分析')

分析结果如下图所示:

在这里插入图片描述

2. 不同作者的平均评分分析

def author_rating_analysis(data):
    # 计算每个作者的平均评分
    author_ratings = data.groupby('author')['rating'].mean().round(1)
    author_ratings = author_ratings.reset_index()
    author_ratings.columns = ['author', 'avg_rating']
    save_to_csv(author_ratings, './结果输出层/数据分析结果数据/作者平均评分分析.csv')
    save_to_mysql(author_ratings, '作者平均评分分析')

分析结果如下图所示:

在这里插入图片描述

3. 不同作者的平均评价人数分析

def author_rating_count_analysis(data):
    # 计算每个作者的平均评价人数
    author_rating_counts = data.groupby('author')['rating_count'].mean().round(0)
    author_rating_counts = author_rating_counts.reset_index()
    author_rating_counts.columns = ['author', 'avg_rating_count']
    save_to_csv(author_rating_counts, './结果输出层/数据分析结果数据/作者平均评价人数分析.csv')
    save_to_mysql(author_rating_counts, '作者平均评价人数分析')

分析结果如下图所示:

4. 不同作者的平均价格分析

def author_price_analysis(data):
    # 计算每个作者的平均价格
    author_prices = data.groupby('author')['price'].mean().round(1)
    author_prices = author_prices.reset_index()
    author_prices.columns = ['author', 'avg_price']
    save_to_csv(author_prices, './结果输出层/数据分析结果数据/作者平均价格分析.csv')
    save_to_mysql(author_prices, '作者平均价格分析')

分析结果如下图所示:

在这里插入图片描述

5. 作者综合分析

def author_analysis(data):
    # 每个作者的图书数量统计分析
    author_counts = data['author'].value_counts()
    author_counts = author_counts.reset_index()
    author_counts.columns = ['author', 'count']
    # 每个作者的平均评分分析
    author_ratings = data.groupby('author')['rating'].mean().round(1)
    author_ratings = author_ratings.reset_index()
    author_ratings.columns = ['author', 'avg_rating']
    # 每个作者的平均评价人数分析
    author_rating_counts = data.groupby('author')['rating_count'].mean().round(0)
    author_rating_counts = author_rating_counts.reset_index()
    author_rating_counts.columns = ['author', 'avg_rating_count']
    # 每个作者的平均价格分析
    author_prices = data.groupby('author')['price'].mean().round(1)
    author_prices = author_prices.reset_index()
    author_prices.columns = ['author', 'avg_price']
    # 合并四个结果
    merged_result = pd.merge(author_counts, author_ratings, on='author', how='outer')
    merged_result = pd.merge(merged_result, author_rating_counts, on='author', how='outer')
    merged_result = pd.merge(merged_result, author_prices, on='author', how='outer')
    # 保存合并后的结果到 CSV 文件
    save_to_csv(merged_result, './结果输出层/数据分析结果数据/作者图书数量和平均评分和平均价格和平均评价人数分析.csv')
    save_to_mysql(merged_result, '作者图书数量和平均评分和平均价格和平均评价人数分析')

分析结果如下图所示:

在这里插入图片描述


五、不同出版社分析

1. 不同出版社的图书数量统计分析

def publish_count_analysis(data):
    # 统计每个出版社的图书数量
    publish_counts = data['publisher'].value_counts()
    publish_counts = publish_counts.reset_index()
    publish_counts.columns = ['publisher', 'count']
    save_to_csv(publish_counts, './结果输出层/数据分析结果数据/出版社图书数量统计分析.csv')
    save_to_mysql(publish_counts, '出版社图书数量统计分析')

分析结果如下图所示:

在这里插入图片描述

2. 不同出版社的平均评分分析

def publish_rating_analysis(data):
    # 计算每个出版社的平均评分
    publish_ratings = data.groupby('publisher')['rating'].mean().round(1)
    publish_ratings = publish_ratings.reset_index()
    publish_ratings.columns = ['publisher', 'avg_rating']
    save_to_csv(publish_ratings, './结果输出层/数据分析结果数据/出版社平均评分分析.csv')
    save_to_mysql(publish_ratings, '出版社平均评分分析')

分析结果如下图所示:

在这里插入图片描述

3. 不同出版社的平均评价人数分析

def publish_rating_count_analysis(data):
    # 计算每个出版社的平均评价人数
    publish_rating_counts = data.groupby('publisher')['rating_count'].mean().round(0)
    publish_rating_counts = publish_rating_counts.reset_index()
    publish_rating_counts.columns = ['publisher', 'avg_rating_count']
    save_to_csv(publish_rating_counts, './结果输出层/数据分析结果数据/出版社平均评价人数分析.csv')
    save_to_mysql(publish_rating_counts, '出版社平均评价人数分析')

分析结果如下图所示:

在这里插入图片描述

4. 不同出版社的平均价格分析

def publish_price_analysis(data):
    # 计算每个出版社的平均价格
    publish_prices = data.groupby('publisher')['price'].mean().round(1)
    publish_prices = publish_prices.reset_index()
    publish_prices.columns = ['publisher', 'avg_price']
    save_to_csv(publish_prices, './结果输出层/数据分析结果数据/出版社平均价格分析.csv')
    save_to_mysql(publish_prices, '出版社平均价格分析')

分析结果如下图所示:

在这里插入图片描述

5. 出版社综合分析

def publish_analysis(data):
    # 每个出版社的图书数量统计分析
    publish_counts = data['publisher'].value_counts()
    publish_counts = publish_counts.reset_index()
    publish_counts.columns = ['publisher', 'count']
    # 每个出版社的平均评分分析
    publish_ratings = data.groupby('publisher')['rating'].mean().round(1)
    publish_ratings = publish_ratings.reset_index()
    publish_ratings.columns = ['publisher', 'avg_rating']
    # 每个出版社的平均评价人数分析
    publish_rating_counts = data.groupby('publisher')['rating_count'].mean().round(0)
    publish_rating_counts = publish_rating_counts.reset_index()
    publish_rating_counts.columns = ['publisher', 'avg_rating_count']
    # 每个出版社的平均价格分析
    publish_prices = data.groupby('publisher')['price'].mean().round(1)
    publish_prices = publish_prices.reset_index()
    publish_prices.columns = ['publisher', 'avg_price']
    # 合并四个结果
    merged_result = pd.merge(publish_counts, publish_ratings, on='publisher', how='outer')
    merged_result = pd.merge(merged_result, publish_rating_counts, on='publisher', how='outer')
    merged_result = pd.merge(merged_result, publish_prices, on='publisher', how='outer')
    # 保存合并后的结果到 CSV 文件
    save_to_csv(merged_result, './结果输出层/数据分析结果数据/出版社图书数量和平均评分和平均价格和平均评价人数分析.csv')
    save_to_mysql(merged_result, '出版社图书数量和平均评分和平均价格和平均评价人数分析')

分析结果如下图所示:

在这里插入图片描述


六、其他分析

1. 图书评分分布分析

def rating_analysis(data):
    # 定义评分区间
    bins = [0, 2, 4, 6, 8, 10]
    labels = ['0-2', '2-4', '4-6', '6-8', '8-10']
    # 使用 pd.cut 函数将评分进行分组
    data['rating_group'] = pd.cut(data['rating'], bins=bins, labels=labels, right=False)
    # 统计每个评分区间的图书数量
    rating_counts = data['rating_group'].value_counts()
    rating_counts = rating_counts.reset_index()
    rating_counts.columns = ['rating_range', 'count']
    save_to_csv(rating_counts, './结果输出层/数据分析结果数据/评分分布统计分析.csv')
    save_to_mysql(rating_counts, '评分分布统计分析')

2. 图书价格分布分析

def price_analysis(data):
    # 定义价格区间
    bins = [0, 50, 100, 150, 200, 250, 300, 350, 400, 450, 500]
    labels = ['0-50', '50-100', '100-150', '150-200', '200-250', '250-300', '300-350', '350-400', '400-450', '450-500']
    # 使用 pd.cut 函数将价格进行分组
    data['price_group'] = pd.cut(data['price'], bins=bins, labels=labels, right=False)
    # 统计每个价格区间的图书数量
    price_counts = data['price_group'].value_counts()
    price_counts = price_counts.reset_index()
    price_counts.columns = ['price_range', 'count']
    save_to_csv(price_counts, './结果输出层/数据分析结果数据/图书价格分布统计分析.csv')
    save_to_mysql(price_counts, '图书价格分布统计分析')

3. 译者翻译的图书数量统计分析(前15)

def translator_count_analysis(data):
    # 统计每个译者的图书数量
    translator_counts = data['translator'].value_counts()
    translator_counts = translator_counts.reset_index()
    translator_counts.columns = ['translator', 'count']
    translator_counts = translator_counts.sort_values(by='count', ascending=False)
    translator_counts = translator_counts.head(15)
    save_to_csv(translator_counts, './结果输出层/数据分析结果数据/译者图书数量统计分析.csv')
    save_to_mysql(translator_counts, '译者图书数量统计分析')

4. 评价人数多的图书分析(前15)

def high_rating_count_books_analysis(data):
    high_rating_count_books = data[['name', 'rating_count']]
    high_rating_count_books = high_rating_count_books.sort_values(by='rating_count', ascending=False)
    high_rating_count_books = high_rating_count_books.drop_duplicates(subset=['name'])
    high_rating_count_books = high_rating_count_books.head(15)
    save_to_csv(high_rating_count_books, './结果输出层/数据分析结果数据/评价人数多的图书分析.csv')
    save_to_mysql(high_rating_count_books, '评价人数多的图书分析')

分析结果如下图所示:

在这里插入图片描述

5. 评分最高的图书分析(前15)

def high_rating_books_analysis(data):
    high_rating_books = data[['name', 'rating']]
    high_rating_books = high_rating_books.sort_values(by='rating', ascending=False)
    high_rating_books = high_rating_books.drop_duplicates(subset=['name'])
    high_rating_books = high_rating_books.head(15)
    save_to_csv(high_rating_books, './结果输出层/数据分析结果数据/评分最高的图书分析.csv')
    save_to_mysql(high_rating_books, '评分最高的图书分析')

分析结果如下图所示:

在这里插入图片描述

6. 评价人数最多且评分高的图书分析(前15)

def high_rating_and_rating_count_books_analysis(data):
    high_rating_and_rating_count_books = data[['name', 'rating', 'rating_count']]
    high_rating_and_rating_count_books = high_rating_and_rating_count_books.sort_values(by=['rating_count', 'rating'], ascending=False)
    high_rating_and_rating_count_books = high_rating_and_rating_count_books.drop_duplicates(subset=['name'])
    high_rating_and_rating_count_books = high_rating_and_rating_count_books.head(15)
    save_to_csv(high_rating_and_rating_count_books, './结果输出层/数据分析结果数据/评分高且评价人数最多的图书分析.csv')
    save_to_mysql(high_rating_and_rating_count_books, '评分高且评价人数最多的图书分析')

分析结果如下图所示:

在这里插入图片描述


七、完整代码

from pathlib import Path

import pandas as pd
from matplotlib import pyplot as plt
from sqlalchemy import create_engine

# 设置支持中文的字体,这里以黑体为例
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 解决负号'-'显示为方块的问题


def load_data(csv_file_path):
    try:
        data = pd.read_csv(csv_file_path)
        return data
    except FileNotFoundError:
        print("未找到指定的 CSV 文件,请检查文件路径和文件名。")
    except Exception as e:
        print(f"加载数据时出现错误: {e}")


# 保存分析后的数据为csv文件
def save_to_csv(data, csv_file_path):
    # 使用 pathlib 处理文件路径
    path = Path(csv_file_path)
    # 检查文件所在目录是否存在,如果不存在则创建
    path.parent.mkdir(parents=True, exist_ok=True)
    data.to_csv(csv_file_path, index=False, encoding='utf-8-sig', mode='w', header=True)
    print(f'清洗后的数据已保存到 {csv_file_path} 文件')


# 保存分析后的数据到MySQL数据库
def save_to_mysql(data, table_name):
    engine = create_engine(f'mysql+mysqlconnector://root:zxcvbq@127.0.0.1:3306/douban')
    data.to_sql(table_name, con=engine, index=False, if_exists='replace')
    print(f'清洗后的数据已保存到 {table_name} 表')


# 每种分类图书数量统计分析
def category_count_analysis(data):
    # 统计每个分类的图书数量
    category_counts = data['category_name'].value_counts()
    category_counts = category_counts.reset_index()
    category_counts.columns = ['category_name', 'count']
    save_to_csv(category_counts, './结果输出层/数据分析结果数据/分类图书数量统计分析.csv')
    save_to_mysql(category_counts, '分类图书数量统计分析')


# 每种分类的平均评分统计分析
def category_rating_analysis(data):
    # 计算每个分类的平均评分
    category_ratings = data.groupby('category_name')['rating'].mean().round(1)
    category_ratings = category_ratings.reset_index()
    category_ratings.columns = ['category_name', 'avg_rating']
    save_to_csv(category_ratings, './结果输出层/数据分析结果数据/每个分类的平均评分统计分析.csv')
    save_to_mysql(category_ratings, '每个分类的平均评分统计分析')


# 每种分类的平均评价人数统计分析
def category_rating_count_analysis(data):
    # 计算每个分类的平均评价人数
    category_rating_counts = data.groupby('category_name')['rating_count'].mean().round(0)
    category_rating_counts = category_rating_counts.reset_index()
    category_rating_counts.columns = ['category_name', 'avg_rating_count']
    save_to_csv(category_rating_counts, './结果输出层/数据分析结果数据/每个分类的平均评价人数统计分析.csv')
    save_to_mysql(category_rating_counts, '每个分类的平均评价人数统计分析')


# 每种分类的平均价格统计分析
def category_price_analysis(data):
    # 计算每个分类的平均价格
    category_prices = data.groupby('category_name')['price'].mean().round(1)
    category_prices = category_prices.reset_index()
    category_prices.columns = ['category_name', 'avg_price']
    save_to_csv(category_prices, './结果输出层/数据分析结果数据/每个分类的平均价格统计分析.csv')
    save_to_mysql(category_prices, '每个分类的平均价格统计分析')


# 每种分类的图书数量、平均评分、平均价格和平均评价人数统计分析
def category_analysis(data):
    # 统计每个分类的图书数量
    category_counts = data['category_name'].value_counts()
    category_counts = category_counts.reset_index()
    category_counts.columns = ['category_name', 'count']
    # 计算每个分类的平均评分
    category_ratings = data.groupby('category_name')['rating'].mean().round(1)
    category_ratings = category_ratings.reset_index()
    category_ratings.columns = ['category_name', 'avg_rating']
    # 计算每个分类的平均评价人数
    category_rating_counts = data.groupby('category_name')['rating_count'].mean().round(0)
    category_rating_counts = category_rating_counts.reset_index()
    category_rating_counts.columns = ['category_name', 'avg_rating_count']
    # 计算每个分类的平均价格
    category_prices = data.groupby('category_name')['price'].mean().round(1)
    category_prices = category_prices.reset_index()
    category_prices.columns = ['category_name', 'avg_price']
    # 合并四个结果
    merged_result = pd.merge(category_counts, category_ratings, on='category_name', how='outer')
    merged_result = pd.merge(merged_result, category_rating_counts, on='category_name', how='outer')
    merged_result = pd.merge(merged_result, category_prices, on='category_name', how='outer')
    # 保存合并后的结果到 CSV 文件
    save_to_csv(merged_result, './结果输出层/数据分析结果数据/每种分类的图书数量和平均评分和平均评价人数和平均价格统计分析.csv')
    save_to_mysql(merged_result, '每种分类的图书数量和平均评分和平均评价人数和平均价格统计分析')


# 每年出版的图书数量统计分析
def year_count_analysis(data):
    # 统计每年出版的图书数量
    year_counts = data['publish_year'].value_counts()
    year_counts = year_counts.reset_index()
    # 按照年份升序排序
    year_counts = year_counts.sort_values(by='publish_year')
    year_counts.columns = ['publish_year', 'count']
    save_to_csv(year_counts, './结果输出层/数据分析结果数据/每年出版的图书数量统计分析.csv')
    save_to_mysql(year_counts, '每年出版的图书数量统计分析')


# 每年出版的图书平均评分分析
def year_rating_analysis(data):
    year_ratings = data.groupby('publish_year')['rating'].mean().round(1)
    year_ratings = year_ratings.reset_index()
    year_ratings = year_ratings.sort_values(by='publish_year')
    year_ratings.columns = ['publish_year', 'avg_rating']
    save_to_csv(year_ratings, './结果输出层/数据分析结果数据/每年出版的图书平均评分分析.csv')
    save_to_mysql(year_ratings, '每年出版的图书平均评分分析')


# 每年出版图书平均评价人数分析
def year_rating_count_analysis(data):
    year_rating_counts = data.groupby('publish_year')['rating_count'].mean().round(0)
    year_rating_counts = year_rating_counts.reset_index()
    year_rating_counts = year_rating_counts.sort_values(by='publish_year')
    year_rating_counts.columns = ['publish_year', 'avg_rating_count']
    save_to_csv(year_rating_counts, './结果输出层/数据分析结果数据/每年出版图书平均评价人数分析.csv')
    save_to_mysql(year_rating_counts, '每年出版图书平均评价人数分析')


# 每年出版图书平均价格分析
def year_price_analysis(data):
    year_prices = data.groupby('publish_year')['price'].mean().round(1)
    year_prices = year_prices.reset_index()
    year_prices = year_prices.sort_values(by='publish_year')
    year_prices.columns = ['publish_year', 'avg_price']
    save_to_csv(year_prices, './结果输出层/数据分析结果数据/每年出版图书平均价格分析.csv')
    save_to_mysql(year_prices, '每年出版图书平均价格分析')


# 每年出版图书数量、平均评分、平均价格和平均评价人数分析
def year_analysis(data):
    # 每年出版的图书数量统计分析
    year_counts = data['publish_year'].value_counts()
    year_counts = year_counts.reset_index()
    year_counts = year_counts.sort_values(by='publish_year')
    year_counts.columns = ['publish_year', 'count']
    # 每年出版的图书平均评分分析
    year_ratings = data.groupby('publish_year')['rating'].mean().round(1)
    year_ratings = year_ratings.reset_index()
    year_ratings = year_ratings.sort_values(by='publish_year')
    year_ratings.columns = ['publish_year', 'avg_rating']
    # 每年出版的图书平均评价人数分析
    year_rating_counts = data.groupby('publish_year')['rating_count'].mean().round(0)
    year_rating_counts = year_rating_counts.reset_index()
    year_rating_counts = year_rating_counts.sort_values(by='publish_year')
    year_rating_counts.columns = ['publish_year', 'avg_rating_count']
    # 每年出版的图书平均价格分析
    year_prices = data.groupby('publish_year')['price'].mean().round(1)
    year_prices = year_prices.reset_index()
    year_prices = year_prices.sort_values(by='publish_year')
    # 合并四个结果
    merged_result = pd.merge(year_counts, year_ratings, on='publish_year', how='outer')
    merged_result = pd.merge(merged_result, year_rating_counts, on='publish_year', how='outer')
    merged_result = pd.merge(merged_result, year_prices, on='publish_year', how='outer')
    # 保存合并后的结果到 CSV 文件
    save_to_csv(merged_result, './结果输出层/数据分析结果数据/每年出版图书数量和平均评分和平均价格和平均评价人数分析.csv')
    save_to_mysql(merged_result, '每年出版图书数量和平均评分和平均价格和平均评价人数分析')


# 每个作者的图书数量统计分析
def author_count_analysis(data):
    # 统计每个作者的图书数量
    author_counts = data['author'].value_counts()
    author_counts = author_counts.reset_index()
    author_counts.columns = ['author', 'count']
    save_to_csv(author_counts, './结果输出层/数据分析结果数据/作者图书数量统计分析.csv')
    save_to_mysql(author_counts, '作者图书数量统计分析')


# 每个作者的平均评分分析
def author_rating_analysis(data):
    # 计算每个作者的平均评分
    author_ratings = data.groupby('author')['rating'].mean().round(1)
    author_ratings = author_ratings.reset_index()
    author_ratings.columns = ['author', 'avg_rating']
    save_to_csv(author_ratings, './结果输出层/数据分析结果数据/作者平均评分分析.csv')
    save_to_mysql(author_ratings, '作者平均评分分析')


# 每个作者的平均评价人数分析
def author_rating_count_analysis(data):
    # 计算每个作者的平均评价人数
    author_rating_counts = data.groupby('author')['rating_count'].mean().round(0)
    author_rating_counts = author_rating_counts.reset_index()
    author_rating_counts.columns = ['author', 'avg_rating_count']
    save_to_csv(author_rating_counts, './结果输出层/数据分析结果数据/作者平均评价人数分析.csv')
    save_to_mysql(author_rating_counts, '作者平均评价人数分析')


# 每个作者的平均价格分析
def author_price_analysis(data):
    # 计算每个作者的平均价格
    author_prices = data.groupby('author')['price'].mean().round(1)
    author_prices = author_prices.reset_index()
    author_prices.columns = ['author', 'avg_price']
    save_to_csv(author_prices, './结果输出层/数据分析结果数据/作者平均价格分析.csv')
    save_to_mysql(author_prices, '作者平均价格分析')


# 每个作者的图书数量、平均评分、平均价格和平均评价人数分析
def author_analysis(data):
    # 每个作者的图书数量统计分析
    author_counts = data['author'].value_counts()
    author_counts = author_counts.reset_index()
    author_counts.columns = ['author', 'count']
    # 每个作者的平均评分分析
    author_ratings = data.groupby('author')['rating'].mean().round(1)
    author_ratings = author_ratings.reset_index()
    author_ratings.columns = ['author', 'avg_rating']
    # 每个作者的平均评价人数分析
    author_rating_counts = data.groupby('author')['rating_count'].mean().round(0)
    author_rating_counts = author_rating_counts.reset_index()
    author_rating_counts.columns = ['author', 'avg_rating_count']
    # 每个作者的平均价格分析
    author_prices = data.groupby('author')['price'].mean().round(1)
    author_prices = author_prices.reset_index()
    author_prices.columns = ['author', 'avg_price']
    # 合并四个结果
    merged_result = pd.merge(author_counts, author_ratings, on='author', how='outer')
    merged_result = pd.merge(merged_result, author_rating_counts, on='author', how='outer')
    merged_result = pd.merge(merged_result, author_prices, on='author', how='outer')
    # 保存合并后的结果到 CSV 文件
    save_to_csv(merged_result, './结果输出层/数据分析结果数据/作者图书数量和平均评分和平均价格和平均评价人数分析.csv')
    save_to_mysql(merged_result, '作者图书数量和平均评分和平均价格和平均评价人数分析')


# 每个出版社的图书数量统计分析
def publish_count_analysis(data):
    # 统计每个出版社的图书数量
    publish_counts = data['publisher'].value_counts()
    publish_counts = publish_counts.reset_index()
    publish_counts.columns = ['publisher', 'count']
    save_to_csv(publish_counts, './结果输出层/数据分析结果数据/出版社图书数量统计分析.csv')
    save_to_mysql(publish_counts, '出版社图书数量统计分析')


# 每个出版社的平均评分分析
def publish_rating_analysis(data):
    # 计算每个出版社的平均评分
    publish_ratings = data.groupby('publisher')['rating'].mean().round(1)
    publish_ratings = publish_ratings.reset_index()
    publish_ratings.columns = ['publisher', 'avg_rating']
    save_to_csv(publish_ratings, './结果输出层/数据分析结果数据/出版社平均评分分析.csv')
    save_to_mysql(publish_ratings, '出版社平均评分分析')


# 每个出版社的平均评价人数分析
def publish_rating_count_analysis(data):
    # 计算每个出版社的平均评价人数
    publish_rating_counts = data.groupby('publisher')['rating_count'].mean().round(0)
    publish_rating_counts = publish_rating_counts.reset_index()
    publish_rating_counts.columns = ['publisher', 'avg_rating_count']
    save_to_csv(publish_rating_counts, './结果输出层/数据分析结果数据/出版社平均评价人数分析.csv')
    save_to_mysql(publish_rating_counts, '出版社平均评价人数分析')


# 每个出版社的平均价格分析
def publish_price_analysis(data):
    # 计算每个出版社的平均价格
    publish_prices = data.groupby('publisher')['price'].mean().round(1)
    publish_prices = publish_prices.reset_index()
    publish_prices.columns = ['publisher', 'avg_price']
    save_to_csv(publish_prices, './结果输出层/数据分析结果数据/出版社平均价格分析.csv')
    save_to_mysql(publish_prices, '出版社平均价格分析')


# 每个出版社的图书数量、平均评分、平均价格和平均评价人数分析
def publish_analysis(data):
    # 每个出版社的图书数量统计分析
    publish_counts = data['publisher'].value_counts()
    publish_counts = publish_counts.reset_index()
    publish_counts.columns = ['publisher', 'count']
    # 每个出版社的平均评分分析
    publish_ratings = data.groupby('publisher')['rating'].mean().round(1)
    publish_ratings = publish_ratings.reset_index()
    publish_ratings.columns = ['publisher', 'avg_rating']
    # 每个出版社的平均评价人数分析
    publish_rating_counts = data.groupby('publisher')['rating_count'].mean().round(0)
    publish_rating_counts = publish_rating_counts.reset_index()
    publish_rating_counts.columns = ['publisher', 'avg_rating_count']
    # 每个出版社的平均价格分析
    publish_prices = data.groupby('publisher')['price'].mean().round(1)
    publish_prices = publish_prices.reset_index()
    publish_prices.columns = ['publisher', 'avg_price']
    # 合并四个结果
    merged_result = pd.merge(publish_counts, publish_ratings, on='publisher', how='outer')
    merged_result = pd.merge(merged_result, publish_rating_counts, on='publisher', how='outer')
    merged_result = pd.merge(merged_result, publish_prices, on='publisher', how='outer')
    # 保存合并后的结果到 CSV 文件
    save_to_csv(merged_result, './结果输出层/数据分析结果数据/出版社图书数量和平均评分和平均价格和平均评价人数分析.csv')
    save_to_mysql(merged_result, '出版社图书数量和平均评分和平均价格和平均评价人数分析')


# 评分分布分析
def rating_analysis(data):
    # 定义评分区间
    bins = [0, 2, 4, 6, 8, 10]
    labels = ['0-2', '2-4', '4-6', '6-8', '8-10']
    # 使用 pd.cut 函数将评分进行分组
    data['rating_group'] = pd.cut(data['rating'], bins=bins, labels=labels, right=False)
    # 统计每个评分区间的图书数量
    rating_counts = data['rating_group'].value_counts()
    rating_counts = rating_counts.reset_index()
    rating_counts.columns = ['rating_range', 'count']
    save_to_csv(rating_counts, './结果输出层/数据分析结果数据/评分分布统计分析.csv')
    save_to_mysql(rating_counts, '评分分布统计分析')


# 图书价格分布分析
def price_analysis(data):
    # 定义价格区间
    bins = [0, 50, 100, 150, 200, 250, 300, 350, 400, 450, 500]
    labels = ['0-50', '50-100', '100-150', '150-200', '200-250', '250-300', '300-350', '350-400', '400-450', '450-500']
    # 使用 pd.cut 函数将价格进行分组
    data['price_group'] = pd.cut(data['price'], bins=bins, labels=labels, right=False)
    # 统计每个价格区间的图书数量
    price_counts = data['price_group'].value_counts()
    price_counts = price_counts.reset_index()
    price_counts.columns = ['price_range', 'count']
    save_to_csv(price_counts, './结果输出层/数据分析结果数据/图书价格分布统计分析.csv')
    save_to_mysql(price_counts, '图书价格分布统计分析')


# 译者翻译的图书数量统计分析(前15)
def translator_count_analysis(data):
    # 统计每个译者的图书数量
    translator_counts = data['translator'].value_counts()
    translator_counts = translator_counts.reset_index()
    translator_counts.columns = ['translator', 'count']
    translator_counts = translator_counts.sort_values(by='count', ascending=False)
    translator_counts = translator_counts.head(15)
    save_to_csv(translator_counts, './结果输出层/数据分析结果数据/译者图书数量统计分析.csv')
    save_to_mysql(translator_counts, '译者图书数量统计分析')


# 价格、评分、评分人数和出版年份相关性分析
def correlation_analysis(data):
    # 计算价格、评分、评分人数和出版年份之间的相关性
    correlation = data[['price', 'rating', 'rating_count', 'publish_year']].corr()
    correlation = correlation.reset_index()
    # 保存统计结果到 CSV 文件
    save_to_csv(correlation, './结果输出层/数据分析结果数据/价格、评分、评分人数和出版年份相关性分析.csv')
    save_to_mysql(correlation, '价格、评分、评分人数和出版年份相关性分析')


# 评价人数多的图书分析(前15)
def high_rating_count_books_analysis(data):
    high_rating_count_books = data[['name', 'rating_count']]
    high_rating_count_books = high_rating_count_books.sort_values(by='rating_count', ascending=False)
    high_rating_count_books = high_rating_count_books.drop_duplicates(subset=['name'])
    high_rating_count_books = high_rating_count_books.head(15)
    save_to_csv(high_rating_count_books, './结果输出层/数据分析结果数据/评价人数多的图书分析.csv')
    save_to_mysql(high_rating_count_books, '评价人数多的图书分析')


# 评分最高的图书分析(前15)
def high_rating_books_analysis(data):
    high_rating_books = data[['name', 'rating']]
    high_rating_books = high_rating_books.sort_values(by='rating', ascending=False)
    high_rating_books = high_rating_books.drop_duplicates(subset=['name'])
    high_rating_books = high_rating_books.head(15)
    save_to_csv(high_rating_books, './结果输出层/数据分析结果数据/评分最高的图书分析.csv')
    save_to_mysql(high_rating_books, '评分最高的图书分析')


# 评分高且评价人数最多的图书(前15)
def high_rating_and_rating_count_books_analysis(data):
    high_rating_and_rating_count_books = data[['name', 'rating', 'rating_count']]
    high_rating_and_rating_count_books = high_rating_and_rating_count_books.sort_values(by=['rating_count', 'rating'], ascending=False)
    high_rating_and_rating_count_books = high_rating_and_rating_count_books.drop_duplicates(subset=['name'])
    high_rating_and_rating_count_books = high_rating_and_rating_count_books.head(15)
    save_to_csv(high_rating_and_rating_count_books, './结果输出层/数据分析结果数据/评分高且评价人数最多的图书分析.csv')
    save_to_mysql(high_rating_and_rating_count_books, '评分高且评价人数最多的图书分析')


if __name__ == '__main__':
    # 加载数据
    data = load_data('./中间处理层/清洗后的豆瓣图书数据集.csv')
    category_count_analysis(data)
    category_rating_analysis(data)
    category_rating_count_analysis(data)
    category_price_analysis(data)
    category_analysis(data)
    year_count_analysis(data)
    year_rating_analysis(data)
    year_rating_count_analysis(data)
    year_price_analysis(data)
    year_analysis(data)
    author_count_analysis(data)
    author_rating_analysis(data)
    author_rating_count_analysis(data)
    author_price_analysis(data)
    author_analysis(data)
    publish_count_analysis(data)
    publish_rating_analysis(data)
    publish_rating_count_analysis(data)
    publish_price_analysis(data)
    publish_analysis(data)
    rating_analysis(data)
    price_analysis(data)
    translator_count_analysis(data)
    correlation_analysis(data)
    high_rating_count_books_analysis(data)
    high_rating_books_analysis(data)
    high_rating_and_rating_count_books_analysis(data)

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

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

相关文章

c++进阶——类与继承

文章目录 继承继承的基本概念继承的基本定义继承方式继承的一些注意事项 继承类模板 基类和派生类之间的转换继承中的作用域派生类的默认成员函数默认构造函数拷贝构造赋值重载析构函数默认成员函数总结 不能被继承的类继承和友元继承与静态成员多继承及其菱形继承问题继承模型…

复杂地形越野机器人导航新突破!VERTIFORMER:数据高效多任务Transformer助力越野机器人移动导航

作者: Mohammad Nazeri 1 ^{1} 1, Anuj Pokhrel 1 ^{1} 1, Alexandyr Card 1 ^{1} 1, Aniket Datar 1 ^{1} 1, Garrett Warnell 2 , 3 ^{2,3} 2,3, Xuesu Xiao 1 ^{1} 1单位: 1 ^{1} 1乔治梅森大学计算机科学系, 2 ^{2} 2美国陆军研究实验室&…

Jsp技术入门指南【十】IDEA 开发环境下实现 MySQL 数据在 JSP 页面的可视化展示,实现前后端交互

Jsp技术入门指南【十】IDEA 开发环境下实现 MySQL 数据在 JSP 页面的可视化展示,实现前后端交互 前言一、JDBC 核心接口和类:数据库连接的“工具箱”1. 常用的 2 个“关键类”2. 必须掌握的 5 个“核心接口” 二、创建 JDBC 程序的步骤1. 第一步&#xf…

数据库未正常关闭后,再次启动时只有主进程,数据库日志无输出

瀚高数据库 目录 环境 症状 问题原因 解决方案 环境 系统平台:银河麒麟svs(X86_64) 版本:4.5.8 症状 现象:使用pg_ctl stop停止数据库,未正常关闭;使用pg_ctl stop -m i 强制关闭数据库后&…

Oracle Recovery Tools修复ORA-00742、ORA-600 ktbair2: illegal inheritance故障

接到客户反馈,一套运行在虚拟化平台中的Oracle数据库,由于机房断电,导致数据库无法启动,最初启动报错 2025-04-22T16:59:48.92222708:00 Completed: alter database mount exclusive alter database open 2025-04-22T16:59:52.60972608:00 Ping without log force is disabled:…

基于 Netmiko 的网络设备自动化操作

学习目标 掌握 Netmiko 库的核心功能与使用场景。能够通过 Netmiko 连接多厂商设备并执行命令和配置。实现批量设备管理、配置备份与自动化巡检。掌握异常处理、日志记录与性能优化技巧。理解 Netmiko 在自动化运维体系中的角色。 1. Netmiko 简介 1.1 什么是 Netmiko Netmi…

LeNet5 神经网络的参数解析和图片尺寸解析

1.LeNet-5 神经网络 以下是针对 LeNet-5 神经网络的详细参数解析和图片尺寸变化分析,和原始论文设计,通过分步计算说明各层的张量变换过程。 经典的 LeNet-5架构简化版(原始论文输入为 32x32,MNIST 常用 28x28 需调整&#xff09…

Axure大屏可视化模板:多领域数据决策的新引擎

在数据驱动决策的时代,Axure大屏可视化模板凭借交互性与可定制性,成为农业、园区管理、智慧城市、企业及医疗领域的创新工具,助力高效数据展示与智能决策。 核心应用场景 1. 农业精细化:实时监控土壤湿度、作物生长曲线&#x…

代码随想录算法训练营第60期第十七天打卡

今天我们继续进入二叉树的下一个章节,今天的内容我在写今天的博客前大致看了一下部分题目难度不算大,那我们就进入今天的题目。 第一题对应力扣编号为654的题目最大二叉树 这道题目的坑相当多,我第一次题目没有看明白就是我不知道到底是如何…

SOC估算:开路电压修正的安时积分法

SOC估算:开路电压修正的安时积分法 基本概念 开路电压修正的安时积分法是一种结合了两种SOC估算方法的混合技术: 安时积分法(库仑计数法) - 通过电流积分计算SOC变化 开路电压法 - 通过电池电压与SOC的关系曲线进行校准 方法原…

使用 SSE + WebFlux 推送日志信息到前端

为什么使用 SSE 而不使用 WebSocket, 请看 SEE 对比 Websocket 的优缺点。 特性SSEWebSocket通信方向单向(服务器→客户端)双向(全双工)协议基于 HTTP独立协议(需 ws:// 前缀)兼容性现代浏览器&#xff08…

二叉树的遍历(广度优先搜索)

二叉树的第二种遍历方式,层序遍历,本质是运用队列对二叉树进行搜索。 层序遍历是指将二叉树的每一层按顺序遍历,通过队列实现就是先将根节点push入队,统计此时的队列中的元素数量size,将size元素全部pop出去&#xff0…

2025年计算机视觉与智能通信国际会议(ICCVIC 2025)

2025 International Conference on Computer Vision and Intelligent Communication 一、大会信息 会议简称:ICCVIC 2025 大会地点:中国杭州 收录检索:提交Ei Compendex,CPCI,CNKI,Google Scholar等 二、会议简介 2025年计算机视觉与智能通…

手工收集统计信息

有时想对某些表收集统计信息 CREATE OR REPLACE PROCEDURE GATHER_STATS ASDECLAREV_SQL1 VARCHAR(1000);--表游标CURSOR C1 ISSELECT (SELECT USER) AS TABLE_OWNER,TABLE_NAMEFROM USER_TABLES; --可以在这里加过滤条件--索引游标CURSOR C2 ISSELECT TABLE_OWNER,INDEX_NAM…

flume整合Kafka和spark-streaming核心编程

flume整合Kafka 需求1:利用flume监控某目录中新生成的文件,将监控到的变更数据发送给kafka,kafka将收到的数据打印到控制台: 1.查看topic 2.编辑flume-Kafka.conf,并启动flume 3.启动Kafka消费者 4.新增测试数据 5.查…

EDI 如何与 ERP,CRM,WMS等系统集成

在数字化浪潮下,与制造供应链相关产业正加速向智能化供应链转型。传统人工处理订单、库存和物流的方式已难以满足下单客户对响应速度和数据准确性的严苛要求。EDI技术作为企业间数据交换的核心枢纽,其与ERP、CRM、WMS等业务系统的深度集成,成…

面试踩过的坑

1、 “”和equals 的区别 “”是运算符,如果是基本数据类型,则比较存储的值;如果是引用数据类型,则比较所指向对象的地址值。equals是Object的方法,比较的是所指向的对象的地址值,一般情况下,重…

多物理场耦合低温等离子体装置求解器PASSKEy2

文章目录 PASSKEy2简介PASSKEY2计算流程PASSKEy2 中求解的物理方程电路模型等离子体模型燃烧模型 PASSKEy2的使用 PASSKEy2简介 PASSKEy2 是在 PASSKEy1 的基础上重新编写的等离子体数值模拟程序。 相较于 PASSKEy1, PASSKEy2 在具备解决低温等离子体模拟问题的能力…

视频噪点多,如何去除画面噪点?

你是否遇到过这样的困扰?辛辛苦苦拍摄的视频,导出后却满屏 “雪花”,夜景变 “噪点盛宴”,低光环境秒变 “马赛克现场”? 无论是日常拍摄的vlog、珍贵的家庭录像,还是专业制作的影视作品,噪点问…

09前端项目----分页功能

分页功能 分页器的优点实现分页功能自定义分页器先实现静态分页器调试分页器动态数据/交互 Element UI组件 分页器的优点 电商平台同时展示的数据很多,所以采用分页功能实现分页功能 Element UI已经有封装好的组件,但是也要掌握原理,以及自定…