
1. 题目pandas是 Python 中唯一用于数据分析的库。 ( )解析错误。Python 数据分析生态系统包含多个核心库pandas主要用于数据处理和分析但NumPy提供数组计算Matplotlib和Seaborn用于数据可视化SciPy用于科学计算scikit-learn用于机器学习它们共同构成数据分析工具链 。2. 题目DataFrame是pandas库中的一种二维表格型数据结构。 ( )解析正确。DataFrame是pandas的核心数据结构类似于电子表格或 SQL 表由行和列组成每列可以是不同的数据类型 。3. 题目df.mean()方法可以计算DataFrame中所有数值列的平均值。 ( )解析正确。df.mean()默认对数值列int和float类型进行聚合返回每列的平均值非数值列如字符串会被自动忽略 。4. 题目pandas的read_csv()函数只能读取以逗号分隔的 CSV 文件。 ( )解析错误。read_csv()是读取 CSV 文件的常用函数但其sep参数可以指定任意分隔符如制表符\\t、分号;等因此也能读取 TSV 或其他分隔符文件 。5. 题目df.dropna()方法会删除DataFrame中包含任何缺失值NaN的所有行。 ( )解析错误。df.dropna()默认删除包含任何缺失值的行但可以通过how如‘all’仅删除全为 NaN 的行、axis删除列和subset指定列参数进行更精细的控制 。6. 题目NumPy数组np.array([1, 2, 3])和 Python 列表[1, 2, 3]在数学运算上完全等价。 ( )解析错误。NumPy数组支持向量化操作如对整个数组进行加减乘除而 Python 列表的运算通常需要循环。例如数组a * 2会对每个元素乘以 2而列表b * 2是重复列表元素 。7. 题目df.rename(columns{‘old_name‘: ‘new_name‘})可以用于重命名DataFrame的列。 ( )解析正确。rename()方法通过传入字典映射旧列名到新列名来修改列名inplaceTrue参数可直接修改原DataFrame。8. 题目df.sort_values(by‘column_name‘)会按指定列的值对DataFrame进行降序排序。 ( )解析错误。sort_values()默认按升序排序。要实现降序排序必须显式设置参数ascendingFalse。9. 题目df.groupby(‘column‘).mean()操作会按指定列分组并计算每组中所有数值列的平均值。 ( )解析正确。groupby()是pandas的核心分组方法其后接聚合函数如mean()、sum()会对分组后的数值列进行相应计算 。10. 题目df[‘column‘].value_counts()返回的是指定列中每个唯一值出现的次数结果按值value排序。 ( )解析错误。value_counts()默认按计数值降序排列而不是按值本身的字母或数字顺序排序。可通过sortFalse参数禁用排序 。11. 题目df.loc[]仅能通过行标签索引名进行数据选取不能通过布尔条件。 ( )解析错误。df.loc[]支持多种索引方式1) 单个标签或标签列表2) 切片3) 布尔数组条件筛选。例如df.loc[df[‘age‘] 18]是有效的 。12. 题目df.iloc[]是基于位置的整数索引用于通过行号和列号选取数据。 ( )解析正确。df.iloc[]使用基于 0 的整数位置进行索引如df.iloc[0, 1]选取第一行第二列的数据 。13. 题目df.isnull()返回一个与原DataFrame形状相同的布尔型DataFrame其中缺失值位置为True。 ( )解析正确。isnull()或isna()是检测缺失值的标准方法返回布尔掩码常用于结合sum()统计缺失值数量 。14. 题目df.fillna(0)会将DataFrame中所有的缺失值NaN替换为字符串 ‘0‘。 ( )解析错误。fillna(0)会将缺失值替换为数值 0。替换值可以是标量、字典按列填充或前向/后向填充方法如method‘ffill‘ 。15. 题目df.query(‘salary 50000‘)是一种使用字符串表达式筛选DataFrame行的便捷方法。 ( )解析正确。query()方法允许使用字符串形式的表达式进行查询语法简洁尤其适用于复杂条件筛选 。16. 题目df.merge(df2, on‘key‘)执行的是类似 SQL INNER JOIN 的操作只保留两个DataFrame中键匹配的行。 ( )解析正确。merge()是pandas实现表连接的核心函数on参数指定连接键。默认how‘inner‘即内连接。其他连接类型包括‘left‘、‘right‘、‘outer‘。17. 题目df.pivot_table(values‘sales‘, index‘region‘, columns‘month‘, aggfunc‘sum‘)可以创建一个以地区为行、月份为列、销售额总和为值的透视表。 ( )解析正确。pivot_table()是创建数据透视表的强大工具values指定要聚合的列index和columns定义行和列的分组aggfunc指定聚合函数 。18. 题目df[‘date‘] pd.to_datetime(df[‘date‘])可以将字符串格式的日期列转换为pandas的datetime类型。 ( )解析正确。pd.to_datetime()是将字符串或混合格式解析为标准化datetime对象的常用函数转换后便于进行时间序列分析 。19. 题目df.corr()计算的是DataFrame中所有数值列之间的协方差矩阵。 ( )解析错误。df.corr()计算的是相关系数矩阵默认是皮尔逊相关系数衡量的是线性相关程度而非协方差 。20. 题目df.describe()默认只显示数值列的统计摘要如计数、均值、标准差等。 ( )解析正确。describe()默认生成数值列的描述性统计。通过include和exclude参数可以控制包含或排除的数据类型 。21. 题目df.duplicated()返回一个布尔序列标记出DataFrame中所有重复的行包括第一次出现的行。 ( )解析错误。duplicated()默认标记出第二次及之后出现的重复行即keep‘first‘第一次出现的行标记为False。keep参数可改为‘last‘或False标记所有重复行 。22. 题目df.drop_duplicates()会删除DataFrame中所有重复的行只保留第一次出现的行。 ( )解析正确。这是drop_duplicates()的默认行为keep‘first‘。同样可以通过subset参数指定依据哪些列判断重复 。23. 题目df[‘col‘].astype(‘int‘)可以将列的数据类型安全地转换为整数即使存在缺失值或非数字字符。 ( )解析错误。astype()进行强制类型转换如果列中包含无法转换的值如字符串 ‘abc‘ 或 NaN会引发错误。更安全的方式是使用pd.to_numeric(errors‘coerce‘)。24. 题目df.apply(lambda x: x*2)会对DataFrame的每一列应用一个函数使每个元素值翻倍。 ( )解析正确。apply()是一个灵活的通用函数默认对每一列axis0应用函数。传入的lambda函数会作用于每一列Series 。25. 题目df.set_index(‘column_name‘)会将指定列设置为DataFrame的新索引并默认从原数据中删除该列。 ( )解析正确。set_index()将指定列提升为索引默认dropTrue会将该列从数据列中移除。若设置dropFalse则该列既作为索引也保留为数据列 。26. 题目df.reset_index()会将当前索引重置为默认的整数索引0,1, 2…并将原来的索引丢弃。 ( )解析错误。reset_index()默认将原来的索引转换为一列普通数据列列名默认为 ‘index‘并新建一个整数索引。可通过dropTrue参数丢弃原索引 。27. 题目df[‘A‘] df[‘B‘]会对两列进行元素级别的加法运算如果存在缺失值NaN结果对应位置也是 NaN。 ( )解析正确。pandas的算术运算是元素级别的遵循 NumPy 的广播规则。与 NaN 的任何算术运算结果都是 NaN 。28. 题目df.to_csv(‘output.csv‘, indexFalse)在保存DataFrame到 CSV 文件时会省略行索引。 ( )解析正确。indexFalse是常用参数避免将DataFrame的索引作为额外的一列写入文件 。29. 题目pd.concat([df1, df2])默认按行axis0方向拼接两个DataFrame即纵向堆叠。 ( )解析正确。concat()是主要的拼接函数默认axis0进行行拼接增加行数。axis1进行列拼接增加列数 。30. 题目df[‘col‘].str.contains(‘pattern‘)可以检查某列字符串类型的每个元素是否包含指定的子字符串或正则表达式模式。 ( )解析正确。通过str访问器可以方便地对字符串列进行向量化字符串操作如contains()、upper()、split()等 。31. 题目df.plot()会自动使用matplotlib生成所有数值列的折线图。 ( )解析正确。DataFrame的plot()方法是对matplotlib的封装默认生成折线图x 轴为索引y 轴为各数值列 。32. 题目df.cumsum()会计算DataFrame中每一列的累积和。 ( )解析正确。cumsum()是累积统计方法之一返回一个与原DataFrame形状相同的结果其中每个元素是到该位置为止的累积和 。33. 题目df.pct_change()计算的是当前元素与前一个元素之间的百分比变化对于第一行结果总是0。 ( )解析错误。pct_change()计算百分比变化对于第一行由于没有前一个元素结果默认为NaN。可通过fill_method参数处理 。34. 题目df.rolling(window3).mean()会计算一个大小为 3 的移动窗口并输出每个窗口的均值结果序列的长度与原DataFrame相同。 ( )解析正确。rolling()用于滚动窗口计算。默认情况下窗口计算从第一个有效窗口开始窗口大小满足时之前的位置结果为NaN因此输出序列长度相同但开头有 NaN 。35. 题目df.at[行标签, 列标签]和df.iat[行位置, 列位置]都是用于快速访问单个标量值的方法。 ( )解析正确。at和iat是用于快速访问/设置单个值的访问器at基于标签iat基于整数位置速度比loc/iloc更快 。36. 题目df.where(df 0, 0)会将DataFrame中所有大于 0 的值保留其余值替换为 0。 ( )解析错误。where()的语义是满足条件的位置保留原值不满足的位置替换为指定值。因此df.where(df 0, 0)会将df中不大于 0即小于等于 0的值替换为 0大于 0 的值保持不变 。37. 题目df.melt()是df.pivot()的逆操作可以将宽格式数据转换为长格式数据。 ( )解析正确。melt()是“熔化”或“逆透视”操作将多列“收窄”为两列变量和值常用于将宽表转换为适合分析的长表格式 。38. 题目df[‘col‘].nunique()返回指定列中唯一值的数量默认不包含 NaN 值。 ( )解析正确。nunique()统计唯一值个数默认dropnaTrue即排除 NaN。若设置dropnaFalse则 NaN 也会被计为一个唯一值 。39. 题目df.sample(frac0.5)会从DataFrame中随机抽取 50% 的行。 ( )解析正确。sample()用于随机抽样frac参数指定抽取的比例0到 1 之间n参数指定抽取的绝对数量 。40. 题目df.eval(‘C A B‘)会在DataFrame中原地创建一个新列 ‘C‘其值为列 ‘A‘ 和 ‘B‘ 之和。 ( )解析正确。eval()支持使用字符串表达式进行列间运算语法简洁对于复杂表达式有时比普通算术运算更高效。默认返回结果inplaceTrue可原地修改 。41. 题目df.clip(lower0, upper100)会将DataFrame中所有小于 0 的值设置为 0所有大于 100 的值设置为 100。 ( )解析正确。clip()方法用于将值限制在指定的上下界之间是处理异常值或进行数据缩放的常用方法 。42. 题目df.dtypes返回一个 Series显示DataFrame中每一列的数据类型。 ( )解析正确。dtypes属性对于了解数据结构和进行类型转换前的检查非常有用 。43. 题目df.select_dtypes(include[‘int64‘, ‘float64‘])会筛选出DataFrame中数据类型为int64或float64的列。 ( )解析正确。select_dtypes()是基于数据类型筛选列的便捷方法include和exclude参数接受数据类型列表 。44. 题目df.memory_usage(deepTrue)会返回DataFrame中每一列占用的近似内存字节数deepTrue会进行更精确但更慢的计算。 ( )解析正确。memory_usage()对于优化大数据集的内存使用很有帮助deepTrue会计算对象类型如字符串列的实际内存使用 。45. 题目df.isin([value1, value2])返回一个布尔型DataFrame指示每个元素是否在给定的列表中。 ( )解析正确。isin()用于检查元素是否属于一个集合常用于筛选。可以传入列表、元组、Series 或DataFrame。46. 题目df.agg({‘col1‘: ‘sum‘, ‘col2‘: [‘mean‘, ‘std‘]})可以对不同列应用不同的聚合函数。 ( )解析正确。agg()或aggregate()是强大的聚合函数可以接受字典为不同列指定一个或多个聚合函数 。47. 题目df.explode(‘list_column‘)会将包含列表或可迭代对象的某列“炸开”列表中的每个元素成为独立的一行并复制其他列的值。 ( )解析正确。explode()是处理嵌套列表数据的利器将列表元素转换为多行是melt的一种特殊形式 。48. 题目df.to_numpy()会将DataFrame转换为NumPy数组如果列的数据类型不一致结果数组的数据类型将是object。 ( )解析正确。to_numpy()或.values是转换为数组的方法。pandas会尝试找到所有列的公共数据类型如果无法统一如混合了数字和字符串则降级为object类型数组 。49. 题目df.assign(new_col df[‘A‘] * 2)会返回一个添加了新列 ‘new_col‘ 的新DataFrame原DataFrame不会被修改。 ( )解析正确。assign()方法返回一个新DataFrame并添加新列原DataFrame保持不变。支持链式调用 。50. 题目df.filter(items[‘col1‘, ‘col2‘])会根据列名筛选出指定的列。 ( )解析正确。filter()方法可以根据列名items、正则表达式regex或列名包含的字符串like来筛选列非常灵活 。51. 题目pd.cut(df[‘age‘], bins[0, 18, 65, 100])可以将连续的年龄数据离散化为分类区间如 ‘(0, 18]‘, ‘(18, 65]‘, ‘(65, 100]‘。 ( )解析正确。cut()用于将连续变量分箱离散化bins参数指定分箱边界。pd.qcut()则基于分位数进行分箱 。52. 题目df.stack()会将DataFrame的列“旋转”为行产生一个具有多级索引的 Series。 ( )解析正确。stack()将列索引的某一级别“堆叠”到行索引使数据变“高”变“窄”。unstack()是其逆操作 。53. 题目df.bfill()会使用缺失值后面的第一个有效值来向前填充缺失值。 ( )解析错误。bfill()或backfill是后向填充使用缺失值之后的第一个有效值进行填充。ffill()或pad才是前向填充 。54. 题目df.interpolate()会使用线性插值法来填充缺失值。 ( )解析正确。interpolate()默认使用线性插值但支持多种插值方法如method‘polynomial‘。它根据已知数据点估计缺失值 。55. 题目df[‘col‘].map({‘old_val‘: ‘new_val‘})可以根据提供的字典映射将列中的值替换为新值。 ( )解析正确。map()方法接受一个函数或字典映射对 Series 的每个元素进行转换。对于字典中未包含的值默认转换为NaN。56. 题目df.replace({‘old_val‘: ‘new_val‘})会将DataFrame中所有等于 ‘old_val‘ 的值替换为 ‘new_val‘。 ( )解析正确。replace()功能强大可以替换标量、列表、字典或正则表达式匹配的值。支持按列指定不同的替换规则 。57. 题目df.nlargest(5, ‘column‘)会返回DataFrame中指定列值最大的 5 行。 ( )解析正确。nlargest()和nsmallest()是高效获取最大或最小 N 个值对应行的方法比先排序再取头部更优化 。58. 题目df.pipe(lambda x: x * 2)会将整个DataFrame的每个元素乘以 2。 ( )解析正确。pipe()允许将DataFrame或 Series传递给一个函数支持链式调用常用于封装复杂的操作序列 。59. 题目df.to_excel(‘output.xlsx‘, sheet_name‘Sheet1‘)可以将DataFrame写入 Excel 文件的一个指定工作表。 ( )解析正确。to_excel()用于写入 Excel 文件需要openpyxl或xlsxwriter引擎支持。可以指定工作表名、是否包含索引等 。60. 题目df.style可以用于对DataFrame应用条件格式和样式便于在 Jupyter Notebook 中生成更美观的显示。 ( )解析正确。DataFrame.style属性返回一个Styler对象支持应用渐变色、数据条、高亮等样式增强可视化效果 。61. 题目df.info()会打印DataFrame的简明摘要包括索引数据类型、列数据类型、非空值数量和内存使用情况。 ( )解析正确。info()是数据探索的常用第一步快速了解数据形状、类型和缺失情况 。62. 题目df.head()默认显示DataFrame的前 10 行。 ( )解析错误。df.head()默认显示前5行。可以通过传入参数n来指定显示的行数如df.head(10)。63. 题目df.tail()和df.head()分别用于查看DataFrame的末尾和开头部分默认都是5 行。 ( )解析正确。tail()和head()是对称的方法默认都显示 5 行用于快速浏览数据 。64. 题目df.shape返回一个元组表示DataFrame的维度行数 列数。 ( )解析正确。shape是一个属性不是方法返回 (行数 列数) 。65. 题目df.columns返回一个Index对象包含DataFrame的所有列名可以像列表一样进行修改。 ( )解析正确。df.columns可以直接赋值修改例如df.columns [‘A‘, ‘B‘, ‘C‘]。66. 题目df.index返回DataFrame的索引可以是整数、字符串或日期时间等类型。 ( )解析正确。索引是pandas数据对齐和高效查找的关键可以是任意可哈希类型 。67. 题目df.empty属性用于判断DataFrame是否为空即没有任何数据行。 ( )解析正确。df.empty返回布尔值True表示DataFrame没有行即使有列定义 。68. 题目df.T或df.transpose()可以对DataFrame进行转置将行和列互换。 ( )解析正确。转置是基本的矩阵操作T是transpose的快捷属性 。69. 题目df.add(df2, fill_value0)会在执行加法前将两个DataFrame中对应位置的缺失值用 0 填充。 ( )解析正确。add、sub、mul、div等算术方法支持fill_value参数可以在运算前用指定值填充缺失值避免结果为 NaN 。70. 题目df.compare(df2)会高亮显示两个DataFrame之间的差异。 ( )解析正确。compare()pandas1.1.0用于比较两个DataFrame并显示差异返回一个带有差异详情的新DataFrame。71. 题目df.cov()计算的是DataFrame中数值列之间的协方差矩阵。 ( )解析正确。cov()计算协方差矩阵衡量两个变量如何一起变化。对角线是各列的方差 。72. 题目df.skew()和df.kurt()分别用于计算DataFrame中数值列的偏度和峰度。 ( )解析正确。偏度衡量数据分布的不对称性峰度衡量数据分布的陡峭程度。它们是描述数据分布形态的重要统计量 。73. 题目df.quantile(0.25)返回DataFrame中每一列的第 25 个百分位数第一四分位数。 ( )解析正确。quantile()用于计算分位数参数q可以是标量或列表如[0.25, 0.5, 0.75] 。74. 题目df.mode()返回DataFrame中每一列的众数出现频率最高的值。 ( )解析正确。mode()返回众数可能有多行多峰分布。对于数值列和分类列都适用 。75. 题目df.idxmax()返回DataFrame中每一列最大值所在的索引标签。 ( )解析正确。idxmax()和idxmin()分别返回最大值和最小值首次出现的索引位置 。76. 题目df.all()返回一个 Series指示每一列是否所有元素都为 True或非零、非空。 ( )解析正确。all()和any()是布尔归约方法。all()要求所有元素为真any()要求至少一个元素为真 。77. 题目df.isin()方法不能用于检查元素是否在另一个DataFrame中。 ( )解析错误。isin()可以接受另一个DataFrame作为参数进行元素级别的成员检查返回相同形状的布尔DataFrame。78. 题目df.ne(df2)会对两个DataFrame进行元素级别的“不等于”比较。 ( )解析正确。nenot equal是!运算符的等效方法。类似的比较方法还有eq、gt、lt等 。79. 题目df.combine_first(df2)会用df2中的非缺失值来填充df中的对应缺失值。 ( )解析正确。combine_first()是合并两个DataFrame的便捷方法用第二个DataFrame的值填充第一个中的缺失值 。80. 题目df.update(df2)会用df2中的值覆盖df中对应位置的值即使df2中的值是 NaN。 ( )解析正确。update()会就地修改调用者用另一个DataFrame的非空值进行覆盖。默认情况下NaN 值不会覆盖原值除非设置overwriteTrue。81. 题目df.align(df2, join‘outer‘)会返回两个对齐后的DataFrame它们的索引和列是并集。 ( )解析正确。align()是底层对齐操作返回两个新的DataFrame其索引和列根据指定的连接方式‘inner‘, ‘outer‘, ‘left‘, ‘right‘对齐 。82. 题目df.to_dict(orient‘records‘)会将DataFrame转换为一个字典列表其中每个字典代表一行。 ( )解析正确。to_dict()支持多种方向orient如 ‘dict‘列字典、‘list‘值列表、‘records‘行字典列表、‘index‘行字典等 。83. 题目df.to_string()返回DataFrame的字符串表示适合写入文本文件。 ( )解析正确。to_string()提供了丰富的格式化选项用于控制显示方式并可以输出为纯文本字符串 。84. 题目df.to_latex()可以将DataFrame转换为 LaTeX 表格格式的字符串。 ( )解析正确。to_latex()对于需要在学术论文或报告中插入表格非常有用 。85. 题目df.hist()会为DataFrame中的每个数值列生成一个直方图。 ( )解析正确。hist()是快速绘制数值列分布直方图的方法基于matplotlib。86. 题目df.boxplot()会为DataFrame中的每个数值列生成一个箱线图。 ( )解析正确。箱线图用于可视化数据分布、中位数、四分位数和异常值 。87. 题目df.plot.scatter(x‘col1‘, y‘col2‘)可以生成 ‘col1‘ 和 ‘col2‘ 两列的散点图。 ( )解析正确。通过plot访问器的绘图类型方法如scatter、bar、pie可以方便地绘制特定类型的图表 。88. 题目df.rolling(window‘7D‘).mean()可以用于时间序列数据计算7 天窗口的滚动平均值。 ( )解析正确。当索引是DatetimeIndex时window参数可以接受偏移量字符串如 ‘7D‘、‘2H‘、‘30T‘进行基于时间的滚动窗口计算 。89. 题目df.expanding().sum()会计算从起始点到当前点的累积和扩展窗口。 ( )解析正确。expanding()表示一个从时间序列开始不断扩大的窗口用于计算累积统计量如累积和、累积最小值等 。90. 题目df.ewm(span3).mean()会计算一个跨度span为 3 的指数加权移动平均。 ( )解析正确。ewm()用于指数加权移动平均给近期数据更高的权重。span参数与衰减因子相关 。91. 题目df.diff()计算的是DataFrame中相邻行之间的差值第一行的结果为 NaN。 ( )解析正确。diff()计算一阶差分即当前行减去前一行。periods参数可以指定差分的步长 。92. 题目df.shift(1)会将DataFrame中的数据向下移动一行第一行变为 NaN。 ( )解析正确。shift()用于移动数据正数向下/右移负数向上/左移。常用于计算时间序列的滞后或超前值 。93. 题目df.rank()会为DataFrame中的每一列计算排名默认方法为平均排名‘average‘。 ( )解析正确。rank()返回每列中每个值的排名。method参数控制相同值的处理方式如 ‘min‘, ‘max‘, ‘first‘, ‘dense‘ 。94. 题目df.corrwith(df2)计算的是调用者df与另一个DataFramedf2对应列之间的相关系数。 ( )解析正确。corrwith()用于计算两个DataFrame对象列与列之间的成对相关性 。95. 题目df.to_xarray()可以将DataFrame转换为xarray的Dataset对象便于处理多维标记数据。 ( )解析正确。xarray是处理多维数组的强大库pandas与其有良好的互操作性 。96. 题目df.to_sql(‘table_name‘, conengine)可以将DataFrame写入 SQL 数据库。 ( )解析正确。to_sql()需要 SQLAlchemy 连接引擎或 DBAPI 2.0 连接对象支持将数据写入各种关系型数据库 。97. 题目pd.read_sql(‘SELECT * FROM table‘, conengine)可以从 SQL 数据库读取数据并创建DataFrame。 ( )解析正确。read_sql()是读取 SQL 查询结果或表到pandas的标准方法 。98. 题目df.to_hdf(‘data.h5‘, key‘df‘)可以将DataFrame以 HDF5 格式存储到磁盘支持高效读写大型数据集。 ( )解析正确。HDF5 是一种用于存储和管理大型科学数据集的格式pandas通过HDFStore支持该格式 。99. 题目df.to_parquet(‘data.parquet‘)可以将DataFrame保存为 Parquet 列式存储格式这种格式通常比 CSV 更节省空间且读取更快。 ( )解析正确。Parquet 是一种高效的列式存储格式特别适合大数据分析和与 Hadoop/Spark 生态系统集成 。100. 题目df.memory_usage()返回的结果单位是比特bit。 ( )解析错误。memory_usage()默认返回的内存使用量单位是字节byte而不是比特bit。1 字节等于 8 比特 。参考来源python数据分析期末考试题及答案-20250619073136.docx-原创力文档python数据分析期末考试题及答案-CSDN博客100道Python经典练习题助你夯实基础附详细解答与学习建议python 数据分析考试题 python数据分析 期末测验_mob64ca13ff5b03的技术博客_51CTO博客python数据分析期末考试题及答案.doc-原创力文档