首页 > 其他分享 >大数据分析与可视化 之 实验07 Pandas合并与级联

大数据分析与可视化 之 实验07 Pandas合并与级联

时间:2023-12-30 20:12:01浏览次数:42  
标签:级联 07 df 合并 Pandas 可视化 pd 数据 id

实验07 Pandas合并与级联

实验学时:2学时
实验类型:验证
实验要求:必修

一、实验目的

  1. 掌握pandas合并/拼接
  2. 掌握pandas级联

二、实验要求

利用pandas合并、拼接和级联等知识在PyCharm中编写程序,实现Python数据处理的相关操作。

三、实验内容

任务1.现有如下图的两个DataFrame 数据(如图1),采用Pandas中的merge()函数,将两组数据合并成第三组数据(如图2),再级联成第四组数据(如图3),用Python编写程序实现。
=左边的数据帧=
id Name subject_id
0 1 Alex sub1
1 2 Amy sub2
2 3 Allen sub4
3 4 Alice sub6
4 5 Ayoung sub5
=右边的数据帧=
id Name subject_id
0 1 Billy sub2
1 2 Brian sub4
2 3 Bran sub3
3 4 Bryce sub6
4 5 Betty sub5
图1

=合并的数据帧=
id_x Name_x subject_id id_y Name_y
0 2 Amy sub2 1 Billy
1 3 Allen sub4 2 Brian
2 4 Alice sub6 4 Bryce
3 5 Ayoung sub5 5 Betty
图2
=级联的数据帧=
id Name subject_id
0 1 Alex sub1
1 2 Amy sub2
2 3 Allen sub4
3 4 Alice sub6
4 5 Ayoung sub5
5 1 Billy sub2
6 2 Brian sub4
7 3 Bran sub3
8 4 Bryce sub6
9 5 Betty sub5
图3

任务2. 将数据文件:xmut0.xlsx中所有工作表“1班期末成绩表——6班期末成绩表”合并成一个DataFrame,并写入xmut1.xlsx文件中。用python编程产生如下数据(即数据的合并)。

任务3. 将数据文件:Xiamen_2018.csv中数据清洗成如下图所示。用python编程实现。
image

test7.py

import pandas as pd

pd.set_option("display.unicode.ambiguous_as_wide", True)
pd.set_option("display.unicode.east_asian_width", True)
pd.set_option("display.width", None)


def task1():
    # 左边的数据帧
    left_df = pd.DataFrame({
        'id': [1, 2, 3, 4, 5],
        'Name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'],
        'subject_id': ['sub1', 'sub2', 'sub4', 'sub6', 'sub5']
    })

    # 右边的数据帧
    right_df = pd.DataFrame({
        'id': [1, 2, 3, 4, 5],
        'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'],
        'subject_id': ['sub2', 'sub4', 'sub3', 'sub6', 'sub5']
    })

    # 合并两个数据帧
    merged_df = pd.merge(left_df, right_df, how='inner', on='subject_id', suffixes=('_x', '_y'))

    # 输出合并的数据帧
    print("合并的数据帧:")
    print(merged_df)

    # 级联两个数据帧
    concatenated_df = pd.concat([left_df, right_df])

    # 输出级联的数据帧
    print("\n级联的数据帧:")
    print(concatenated_df)


def task2():
    # 读取 Excel 文件中的所有工作表
    file_path = 'xmut0.xlsx'
    xls = pd.ExcelFile(file_path)
    sheet_names = xls.sheet_names

    # 初始化一个空的 DataFrame 用于存储合并后的数据
    merged_df = pd.DataFrame()

    # 遍历所有工作表并合并数据
    for sheet_name in sheet_names:
        df = pd.read_excel(file_path, sheet_name)
        merged_df = pd.concat([merged_df, df], ignore_index=True)

    # 将合并后的数据写入新的 Excel 文件
    output_file = 'xmut1.xlsx'
    merged_df.to_excel(output_file, index=False)

    print(f"合并后的数据已写入 {output_file}")


def Data_split(df, columns, H_name, L_name):
    temp = df[columns].str.split("/", expand=True)  # 按宁符/分割列
    df[H_name] = temp[0]
    df[L_name] = temp[1]
    df.drop(columns, axis=1, inplace=True)
    return df


def sub(number):
    count = ""
    for i in number:
        if i == "℃":
            break
        count += i
    return int(count)


def task3():
    df = pd.read_csv('Xiamen_2018.csv')
    df.ffill(inplace=True)
    df = Data_split(df, "气温", "当日最高温度", "当日最低温度")
    df = Data_split(df, "天气状况", "日间天气", "夜间天气")
    df = Data_split(df, "风力风向", "风向风速", "风向")
    df.drop("风向", axis=1, inplace=True)

    df["当日最高温度"] = df["当日最高温度"].map(sub)
    df["当日最低温度"] = df["当日最低温度"].map(sub)
    print(df)
    df.to_csv('cleaned_xiamen_2018.csv', index=False)

if __name__ == '__main__':
    task1()
    task2()
    task3()

标签:级联,07,df,合并,Pandas,可视化,pd,数据,id
From: https://www.cnblogs.com/IvanKK/p/17936737

相关文章

  • 大数据分析与可视化 之 实验08 Pandas字符串和文本处理
    实验08Pandas字符串和文本处理实验学时:2学时实验类型:验证实验要求:必修一、实验目的学会正确使用常见的字符串函数如:len()、find()、strip()、replace()、contains()函数。解决实际数据中的字符串和文本处理问题。二、实验要求使用常见的字符串函数(如:len()、find()、s......
  • 大数据分析与可视化 之 实验09 Pandas函数应用
    实验09Pandas函数应用实验学时:2学时实验类型:验证实验要求:必修一、实验目的掌握pandas函数应用的方法:pipe()、apply()和applymap()。能编写自定义函数。能使用pandas函数应用调用自定义函数解决数据分析实际问题。二、实验要求利用pandas函数应用的方法解决数据分析实......
  • 大数据分析与可视化 之 实验02 Numpy创建数组
    实验02Numpy创建数组实验学时:2学时实验类型:验证实验要求:必修一、实验目的掌握Numpy创建数组的方法掌握Numpyndarray的属性、运算掌握Numpy迭代数值,修改数组中元素的值掌握Numpy常用函数的使用方法二、实验要求使用Numpy.array的构造函数创建数组,学会使用Numpyndar......
  • 大数据分析与可视化 之 实验03 Numpy实现数据分析
    实验03Numpy实现数据分析实验学时:2学时实验类型:验证实验要求:必修一、实验目的掌握Numpy的字符串函数掌握Numpy统计函数掌握Numpy排序、分组、线性代数函数二、实验要求通过编程实现使用Numpy字符串函数进行文本处理,使用统计函数进行数据分析等常用操作。三、实验内......
  • 大数据分析与可视化 之 实验04 Pandas基础
    实验04Pandas基础实验学时:2学时实验类型:验证实验要求:必修一、实验目的1.掌握pandas系列、数据帧和面板的使用2.掌握pandas基本功能和操作二、实验要求Pandas程序的运行步骤。2.pandas的数据结构3.pandas系列、数据帧和面板pandas基本功能和操作三、实验内容任务1.......
  • [软件测试] 07 黑盒 场景法 习题
    提示:篇幅较长,可以使用Ctrl+F,在页面中快速查询关键词(或者你要找的题目)并跳转到指定的位置。关键词:黑盒测试,基于场景的测试,场景法,基本流,备选流判断题场景法以事件流为核心,其中事件流又包括基本流和备选流。答案:正确基本流可以有一条或多条。答案:错误基本流能单独构......
  • 大数据分析与可视化 之 实验01 Python爬虫
    实验01Python爬虫实验学时:2学时实验类型:验证实验要求:必修一、实验目的理解爬虫技术掌握正则表达式、网络编程掌握re、socket、urllib、requests、lxml模块及其函数的使用二、实验要求 分析所需爬取信息网页的源代码,使用re、socket、urllib、requests、lxml模块及其函......
  • 07PCIE数据卡BRAM缓存中断采集
    软件版本:vitis2021.1(vivado2021.1)操作系统:WIN1064bit硬件平台:适用XILINXA7/K7/Z7/ZU/KU系列FPGA登录"米联客"FPGA社区-www.uisrc.com视频课程、答疑解惑!7.1概述在方案中,使用基于AXI4实现的FDMA来实现数据的缓存。通过切换缓存的地址,实现2帧以上缓存数据的读取。这种构架......
  • 07.项目管理与 跨部门沟通合作
    目录 项目管理跨部门沟通协作项目管理 需求阶段 项目经理产品研发测试活动1.在项目管理工具中建立项目目录2.分析项目所需资源、风险等3.预估项目周期活动1.收集整理需求参与1.需求分析2.环境分析参与1.需求分析2.环境分析产出1.......
  • 【Python爬虫课程设计】rottentomatoes爬取+数据可视化
    一、选题背景选择此选题的原因是为了进行电影数据的分析。电影作为一种重要的文化娱乐形式,对社会、经济和文化等方面都有着重要的影响。通过对电影数据的分析,可以揭示电影产业的发展趋势、观众喜好、电影市场的竞争情况等,为电影行业的决策制定提供依据。二、主题式网络爬虫设计......