题目
46 以下说法正确的是? import pandas as pd df = pd.DataFrame(( 'a': list("opq"), 'b': [3,2,1]), index=['e','f','g'])A. df[0:1]返回第0列的数据B. df['e']会报错C. df[0:1]返回第0行的数据D. df[0]会报错
46 以下说法正确的是? import pandas as pd df = pd.DataFrame({ 'a': list("opq"), 'b': [3,2,1]}, index=['e','f','g'])
A. df[0:1]返回第0列的数据
B. df['e']会报错
C. df[0:1]返回第0行的数据
D. df[0]会报错
题目解答
答案
BCD
B. df['e']会报错
C. df[0:1]返回第0行的数据
D. df[0]会报错
B. df['e']会报错
C. df[0:1]返回第0行的数据
D. df[0]会报错
解析
本题考查Pandas DataFrame的索引方式,需掌握以下关键点:
- 列索引与行索引的区别:
df[...]默认按列标签索引,若需行索引需使用loc或iloc。 - 切片规则:列切片通过列标签范围实现,行切片需通过
iloc(位置)或loc(标签)。 - 错误处理:若索引的列不存在,会报错;若切片范围无效,可能返回空
DataFrame。
选项分析
选项A
df[0:1]试图按列标签切片,但原DataFrame的列标签为'a'和'b',0:1范围无匹配列,返回空DataFrame,而非第0列数据。错误。
选项B
df['e']尝试按列名'e'索引,但原DataFrame的列名为'a'和'b',报错。正确。
选项C
df[0:1]默认按列切片,无法直接返回行数据。错误。
选项D
df[0]尝试按列名0索引,原DataFrame无此列,报错。正确。