题目
假如我们有名为 df 的 Series 类型的数据,但是 df 中的标签不是按顺序排列的,如果我们想要令 df 的标签按升序进行排列,我们不应该用以下哪一代码?A. sorted_df= df.reindex()B. sorted_df= df.sort_values (ascending=True)C. sorted_df= df.sort_values (ascending=False)D. sorted_df= df.sort_values ()
假如我们有名为 df 的 Series 类型的数据,但是 df 中的标签不是按顺序排列的,如果我们想要令 df 的标签按升序进行排列,我们不应该用以下哪一代码?
A. sorted_df= df.reindex()
B. sorted_df= df.sort_values (ascending=True)
C. sorted_df= df.sort_values (ascending=False)
D. sorted_df= df.sort_values ()
题目解答
答案
ABCD
A. sorted_df= df.reindex()
B. sorted_df= df.sort_values (ascending=True)
C. sorted_df= df.sort_values (ascending=False)
D. sorted_df= df.sort_values ()
A. sorted_df= df.reindex()
B. sorted_df= df.sort_values (ascending=True)
C. sorted_df= df.sort_values (ascending=False)
D. sorted_df= df.sort_values ()
解析
本题考查对 Pandas 中 Series 类型数据排序和重索引操作的理解。解题思路是分别分析每个选项所代表的操作及其对 Series 标签顺序的影响。
- 选项 A:
df.reindex()方法主要用于创建一个符合新索引的新对象。如果不传入任何参数,它会按照原索引的顺序返回一个新的 Series,并不会对标签进行排序。例如:import pandas as pd import numpy as np
创建一个索引不按顺序的 Series
df = pd.Series([1, 2, 3], index=['c', 'a', 'b'])
sorted_df = df.reindex()
print(sorted_df.index)
- 输出结果为 `Index(['c', 'a', 'b'], dtype='object')`,说明索引顺序没有改变。
- **选项 B**:
- `df.sort_values(ascending=True)` 方法会根据 Series 中的值对数据进行升序排序。在排序过程中,会重新排列标签以匹配排序后的值。例如:
```python
import pandas as pd
import numpy as np
创建一个索引不按顺序的 Series
df = pd.Series([1, 2, 3], index=['c', 'a', 'b'])
sorted_df = df.sort_values(ascending=True)
print(sorted_df.index)
- 输出结果为 `Index(['c', 'a', 'b'], dtype='object')`,这里虽然索引看起来没变化,但实际上是按照值的大小重新排列了数据,标签也会随着值的排序而调整。
- 选项 C:
df.sort_values(ascending=False)方法会根据 Series 中的值对数据进行降序排序。同样,在排序过程中会重新排列标签。例如:import pandas as pd import numpy as np
创建一个索引不按顺序的 Series
df = pd.Series([1, 2, 3], index=['c', 'a', 'b'])
sorted_df = df.sort_values(ascending=False)
print(sorted_df.index)
- 输出结果为 `Index(['b', 'a', 'c'], dtype='object')`,标签会随着值的降序排列而改变。
- **选项 D**:
- `df.sort_values()` 方法默认 `ascending=True`,即按照值进行升序排序,同样会重新排列标签。例如:
```python
import pandas as pd
import numpy as np
创建一个索引不按顺序的 Series
df = pd.Series([1, 2, 3], index=['c', 'a', 'b'])
sorted_df = df.sort_values()
print(sorted_df.index)
- 输出结果为 `Index(['c', 'a', 'b'], dtype='object')`,标签会随着值的升序排列而调整。