题目
11 对于以下数据集,如果想要提取元素4,哪个无法返回想要的结果? df = pd.DataFrame([[1, 2, 3], [2, 3, 4]], columns = ['a', 'b', 'c' ], index =['A', 'B'])A. df['c']-1:-2]B. df.loc['B.','c']C. df.iloc[1:2:]D. df['c']-1:-2:-1
11 对于以下数据集,如果想要提取元素4,哪个无法返回想要的结果? df = pd.DataFrame([[1, 2, 3], [2, 3, 4]], columns = ['a', 'b', 'c' ], index =['A', 'B'])
A. df['c']-1:-2]
B. df.loc['B.','c']
C. df.iloc[1:2:]
D. df['c']-1:-2:-1
题目解答
答案
C. df.iloc[1:2:]
解析
本题考查Pandas数据框的索引方式,重点在于理解不同索引方法(loc、iloc、切片操作)的使用场景和返回结果类型。关键点在于:
df.loc:基于标签的索引,返回指定位置的元素或子集;df.iloc:基于位置的索引,返回指定位置的元素或子集;- 切片操作:需注意步长和索引范围的组合逻辑;
- 返回结果类型:若索引操作返回的是单个元素还是子集(如整行/列),需结合题目要求判断是否符合。
选项分析
选项A:df['c'][:-1:-1]
- 步骤1:
df['c']提取c列,得到Series:A 3 B 4 Name: c, dtype: int64 - 步骤2:切片
[:-1:-1]表示从末尾开始逆序取元素,最终返回B行的值4。
选项B:df.loc['B', 'c']
- 直接定位:通过行标签
'B'和列标签'c',返回标量4。
选项C:df.iloc[1:2:]
- 切片逻辑:
1:2表示取第1行(索引'B'),:表示取所有列,返回结果为包含B行所有元素的DataFrame:a b c B 2 3 4 - 不符合要求:无法直接提取单个元素
4。
选项D:df['c'][:-2:-1]
- 步骤1:
df['c']提取c列,同选项A。 - 步骤2:切片
[:-2:-1]从倒数第二个元素开始逆序取元素,最终返回B行的值4。