中山大学程序设计考试:上市公司数据分析

需积分: 0 0 下载量 83 浏览量 更新于2024-08-03 收藏 564KB PDF 举报
"中山大学的本科生期末考试《程序设计(实验)》A卷的第一次模拟题,考试科目涉及使用Python数据分析库,如pandas、numpy、matplotlib和statsmodels。题目要求学生处理中国上市公司的资产负债表数据,进行数据清洗和基本统计分析。" 在这次考试中,考生需要完成以下任务: 1. 导入必要的Python库:pandas用于数据处理,numpy用于数值计算,matplotlib用于数据可视化,statsmodels则用于统计模型和估计。这些库是数据分析的基础工具,对于理解和处理数据至关重要。 2. 读取CSV文件"data\FS_Combas.csv"到DataFrame `FS_Combas`,并设置`low_memory=False`以确保能处理大文件,防止因内存限制而无法加载全部数据。这一步是为了加载整个数据集,以便后续分析。 3. 对数据进行预处理:将列"A001000000"重命名为"asset",表示资产;将列"A002112000"重命名为"payroll",表示工资支出。这是数据清理的一部分,使得列名更具可读性。 4. 保留`Typrep`列中数值为"A"的行,这可能是筛选符合特定条件的企业数据,例如只考虑某种类型的企业报告。 5. 提出第一个问题:数据中有多少家企业?这需要统计唯一的企业标识,通常在数据集中会有一个列来唯一标识每家企业,比如股票代码(Stkcd)。考生需要计算这个列的唯一值数量并将结果保存在变量`A1`中。 6. 提出第二个问题:`Stkcd`列中有多少个不同的数值?这与上一个问题类似,但关注的是列中的不同值,可能用于了解数据的多样性或企业数量。 7. 在上一个操作的基础上,进一步筛选数据,保留`Accper`列中月份和日期为12-31的观测值。这可能是为了分析年末财务数据。考生需要计算过滤后的数据集的观测值数量(行数),并将其结果保存在`A2`中。 8. 同时,考生还需要计算过滤后的数据集的列数,以了解剩余数据的结构。这可能涉及到使用`DataFrame.shape[1]`来获取列的数量,结果同样保存在`A2`中。 通过这次模拟题,学生可以练习数据导入、数据清洗、数据筛选以及基本统计量的计算,这些都是数据科学和数据分析过程中的核心技能。同时,它也强调了在实际问题中应用这些技能的重要性,如理解公司财务数据的特点和结构。