把连续变量变为离散变量的代码
时间: 2023-10-26 17:05:01 浏览: 84
将连续变量离散化可以使用 pandas.cut() 或 pandas.qcut() 方法,具体实现如下:
```python
import pandas as pd
# 创建一个示例数据集
data = pd.DataFrame({'age': [20, 25, 30, 35, 40, 45, 50], 'income': [2000, 3000, 4000, 5000, 6000, 7000, 8000]})
# 将 age 变量离散化,分为三个区间
data['age_category'] = pd.cut(data['age'], bins=3, labels=['young', 'mid', 'old'])
# 将 income 变量离散化,分为三个区间,每个区间样本数量相等
data['income_category'] = pd.qcut(data['income'], q=3, labels=['low', 'medium', 'high'])
print(data)
```
上面的代码将 age 变量分成了三个区间,标记为 "young", "mid", "old",并将结果存储在了新的列 "age_category" 中。同样的,将 income 变量分成了三个区间,每个区间样本数量相等,标记为 "low", "medium", "high",并将结果存储在了新的列 "income_category" 中。
其中,pandas.cut() 方法将数据分成了指定数量的等宽区间,而 pandas.qcut() 方法将数据分成了指定数量的等频区间。可以根据实际需求选择使用哪种方法。
阅读全文