将类别型数据中的缺失值填补为 “未知”,将数值型缺失值填补为其对应特征的均值
时间: 2023-07-16 11:16:26 浏览: 498
好的,可以使用 Pandas 库来实现。
首先,假设我们有一个 DataFrame,其中包含类别型和数值型特征:
```python
import pandas as pd
import numpy as np
df = pd.DataFrame({
'A': [1, 2, np.nan, 4, 5],
'B': ['a', 'b', np.nan, 'c', 'd']
})
```
现在,我们可以使用 Pandas 的 `fillna()` 方法来填充缺失值。对于类别型特征,我们可以使用字符串 `"未知"` 来填充缺失值,对于数值型特征,我们可以使用 `mean()` 方法来填充缺失值。具体代码如下:
```python
# 将类别型特征中的缺失值填充为 "未知"
df['B'] = df['B'].fillna("未知")
# 将数值型特征中的缺失值填充为均值
df['A'] = df['A'].fillna(df['A'].mean())
print(df)
```
输出结果如下:
```
A B
0 1.0 a
1 2.0 b
2 3.0 未知
3 4.0 c
4 5.0 d
```
可以看到,类别型特征中的缺失值已经被填充为了 `"未知"`,数值型特征中的缺失值已经被填充为了对应特征的均值。
相关问题
读取来聘人员信息数据,将类别型数据中的缺失值填补为“未知”,将数值型缺失值填补为其对应特征的均值
好的,你可以使用Pandas库中的fillna()函数来填补缺失值。首先,你需要对数据进行分类,将类别型数据和数值型数据分开处理。在这个例子中,我们可以假定“员工编号”是数值型数据,而“员工性别”是类别型数据。
对于类别型数据,你可以使用fillna()函数将缺失值填充为“未知”:
```python
import pandas as pd
df = pd.read_csv('employees.csv')
# 将类别型数据中的缺失值填补为“未知”
df['员工性别'].fillna('未知', inplace=True)
```
对于数值型数据,你可以使用fillna()函数将缺失值填充为其对应特征的均值:
```python
import pandas as pd
df = pd.read_csv('employees.csv')
# 将数值型缺失值填补为其对应特征的均值
df['员工编号'].fillna(df['员工编号'].mean(), inplace=True)
```
这将把“员工编号”中的缺失值填充为该特征的均值。使用inplace=True参数可以直接修改原始数据集,而不是创建一个新的数据集。
将类别型数据中的缺失值填补为“未知”,将数值型缺失值填补为其对应特生的均值
可以使用 Pandas 库中的 fillna() 方法来实现这个需求。具体代码如下:
```python
import pandas as pd
df = pd.read_csv('data.csv')
# 将类别型数据中的缺失值填补为“未知”
df.fillna('未知', inplace=True)
# 将数值型缺失值填补为其对应特征的均值
num_cols = df.select_dtypes(include=['float', 'int']).columns.tolist() # 获取数值型特征的列名
for col in num_cols:
mean_val = df[col].mean() # 计算均值
df[col].fillna(mean_val, inplace=True) # 填补缺失值
```
其中,`select_dtypes()` 方法可以选择指定数据类型的特征,这里选择了 float 和 int 类型的特征。然后,对于每个数值型特征,使用 `mean()` 方法计算平均值,并使用 `fillna()` 方法填补缺失值。
阅读全文