Python Pandas数据处理:合并与拆分DataFrame

本文将介绍如何使用Python Pandas库对两个DataFrame进行合并和拆分操作。

数据集:

我们有两个CSV文件,分别存储了两门课程的成绩信息:

Course1.csv:

课程名字,课程类别,学分,分数
思想道德修养与法律基础,思政类,3,89.0
云计算应用与开发,专业选修课,3,96.0
社会计算,专业选修课,3,78.0
深度学习,专业选修课,3,75.0
人工智能导论,专业必修课,3,84.0

Course2.csv:

课程名字,课程类别,学分,分数
高等数学(一),学科基础课,4,99.0
数据科学与工程导论,学科基础课,3,NaN
专业英语,学科基础课,2,100.0
概率论,学科基础课,3,99.0
计算机系统,专业必修课,4,80.0

代码:

import pandas as pd

# 读取CSV文件
df_fs1 = pd.DataFrame(pd.read_csv('data/Course1.csv'))
df_fs2 = pd.DataFrame(pd.read_csv('data/Course2.csv'))

# (a) 将两张表分别拆分为专业课与非专业课
df_fs1_professional = df_fs1[df_fs1['课程类别'].str.contains('专业')]
df_fs1_non_professional = df_fs1[~df_fs1['课程类别'].str.contains('专业')]

df_fs2_professional = df_fs2[df_fs2['课程类别'].str.contains('专业')]
df_fs2_non_professional = df_fs2[~df_fs2['课程类别'].str.contains('专业')]

# (b) 将两张专业课的分数表和两张非专业课的分数表分别合并
df_professional_score = pd.concat([df_fs1_professional, df_fs2_professional], ignore_index=True)
df_non_professional_score = pd.concat([df_fs1_non_professional, df_fs2_non_professional], ignore_index=True)

# (c) 不使用(a)中的步骤,请直接读取两张表合并后拆分
df_fs = pd.concat([df_fs1, df_fs2], ignore_index=True)
df_professional = df_fs[df_fs['课程类别'].str.contains('专业')]
df_non_professional = df_fs[~df_fs['课程类别'].str.contains('专业')]

# 打印结果
print('专业课分数表:\n', df_professional_score)
print('\n非专业课分数表:\n', df_non_professional_score)
print('\n专业课表:\n', df_professional)
print('\n非专业课表:\n', df_non_professional)

总结:

本文介绍了如何使用Pandas库对DataFrame进行合并和拆分操作。您可以根据实际需求选择不同的方法来处理您的数据。

Python Pandas数据处理:合并与拆分DataFrame

原文地址: http://www.cveoy.top/t/topic/Q 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录