python如何利用代码区别分类变量和连续变量
时间: 2023-12-29 15:03:29 浏览: 40
在Python中,可以使用Pandas库和NumPy库来区分分类变量和连续变量。
对于分类变量,通常是指具有有限数量的离散取值的变量。我们可以使用Pandas的`Categorical`类型来将数据列转换为分类变量,并使用`dtype`参数指定数据类型。
对于连续变量,通常是指具有无限数量的连续取值的变量。我们可以使用NumPy的`float`或`int`类型来将数据列转换为连续变量。
下面是一个示例代码,演示如何使用Pandas和NumPy来区分分类变量和连续变量:
```python
import pandas as pd
import numpy as np
# 创建一个包含分类变量和连续变量的示例数据集
data = pd.DataFrame({
'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 30, 35, 40],
'gender': ['Female', 'Male', 'Male', 'Male'],
'income': [50000, 60000, 70000, 80000]
})
# 将gender列转换为分类变量
data['gender'] = pd.Categorical(data['gender'], categories=['Male', 'Female'], ordered=False)
# 将age和income列转换为连续变量
data['age'] = data['age'].astype(np.int64)
data['income'] = data['income'].astype(np.float64)
# 打印数据集信息
print(data.info())
```
输出结果如下:
```
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4 entries, 0 to 3
Data columns (total 4 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 name 4 non-null object
1 age 4 non-null int64
2 gender 4 non-null category
3 income 4 non-null float64
dtypes: category(1), float64(1), int64(1), object(1)
memory usage: 372.0+ bytes
None
```
从结果可以看出,`gender`列被转换为分类变量类型,`age`列被转换为整数类型,`income`列被转换为浮点数类型。