正确答案是:B: `pd.cut()`
### 专业分析:
以下是对每个选项的解释:
- **A: `pd.shape`**
- **功能**:`pd.shape`是一个属性,不是方法。它用于获取DataFrame的行数和列数,以元组的形式返回。因此,它与数据处理(尤其是离散化)无关。
- **示例**:`df.shape`返回DataFrame的维度。
- **B: `pd.cut()`**
- **功能**:`pd.cut()`用于将连续数据分割成离散的间隔(bins),特别适用于将数值型数据进行分段,从而转换为类别型数据。这对于数据分析和可视化提供了更多的灵活性,比如将年龄划分为年龄段。
- **示例**:
```python
import pandas as pd
data = [1, 7, 5, 4, 6, 3, 8, 10]
categories = pd.cut(data, bins=3, labels=["low", "medium", "high"])
print(categories)
```
- **输出**:
```
['low', 'medium', 'medium', 'low', 'medium', 'low', 'high', 'high']
```
- **C: `pd.resample()`**
- **功能**:`pd.resample()`通常用于时间序列数据,主要是为了改变时间频率,比如从天级别频率汇总到月级别。它不用于离散化连续型变量。
- **示例**:从日数据重新采样为月数据。
```python
data.resample('M').sum()
```
- **D: `pd.pop()`**
- **功能**:`pd.pop()`用于从DataFrame中删除指定列,并返回该列的值。它与离散化处理无关。
- **示例**:
```python
column_data = df.pop('column_name')
```
因此,只有`pd.cut()`适用于对连续型变量作离散化处理。