pandas计算含缺失值中列平均值_机器学习 Pandas 02:基础 前12题 ( 带答案、注释 )...

9. 表格中缺失值处理

import numpy as np

import pandas as pd

dates = pd.date_range('20130101', periods=6)

df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))

s1 = pd.Series([1,2,3,4,5,6], index=pd.date_range('20130102',periods=6))

df['F'] = s1

df

df1 = df.reindex(index=dates[0:4], columns=list(df.columns)+['E'])

df1.loc[dates[0]:dates[1],'E'] = 1

df1

# pandas的reindex对象,是数据符合新的索引来构造一个新的对象

# 赋值列"E",里面第一行、第二行赋值为1

# 在pandas中,用np.nan来代表缺失值,这些值默认不会参与运算。

# reindex()允许你修改、增加、删除指定轴上的索引,并返回一个数据副本。

df1.dropna(how='any')

# 剔除所有包含缺失值的行数据。

df1.fillna(value=5)

# 填充缺失值,将df1的缺失值都填充为5

pd.isnull(df1)

# 获取值是否为nan的布尔标记

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: pandas.get_dummies() 函数可以将某一列转换为 one-hot 向量,同时可以处理缺失值。可以通过设置 dummy_na 参数为 True 来处理缺失值,该参数会在输出的 one-hot 向量中添加一个表示缺失值的列。例如,对于一个名为 df 的 DataFrame,如果想将其中的一列 col 转换为 one-hot 向量并处理缺失值,可以使用以下代码: ```python pd.get_dummies(df['col'], dummy_na=True) ``` ### 回答2: pandas处理缺失值时,如果要把某一列处理成one-hot向量,可以使用函数`get_dummies()`。 `get_dummies()`函数可以将指定的列转换成多个二进制列,即将每个不同的值转换成一个新的列,并用0或1表示原始列中的值是否存在。这种处理方式适用于分类变量,例如性别、学历等。 使用`get_dummies()`函数时,可指定要转换的列,通过`columns`参数指定。函数会自动将该列中的不同值转换成多个新列,并用0或1表示。 示例代码如下: ```python import pandas as pd # 创建一个包缺失值的数据帧 data = {'Name': ['Tom', 'Amy', 'John', 'Amy', 'Tom'], 'Age': [20, 21, 19, None, 22], 'Gender': ['Male', 'Female', 'Male', 'Female', None]} df = pd.DataFrame(data) # 处理Gender列成one-hot向量 df_onehot = pd.get_dummies(df, columns=['Gender']) print(df_onehot) ``` 运行结果如下: ``` Name Age Gender_Female Gender_Male 0 Tom 20.0 0 1 1 Amy 21.0 1 0 2 John 19.0 0 1 3 Amy NaN 1 0 4 Tom 22.0 0 0 ``` 可以看到,原始的Gender列被拆分成了两列Gender_Female和Gender_Male,通过0和1来表示不同的性别。同时,缺失值也被处理成了0。 ### 回答3: 在pandas中处理缺失值时,如果要将某一列处理成one-hot向量,可以使用pandas的get_dummies()函数来实现。 get_dummies()函数可以将某一列中的不同取值转换成独热编码形式的列。首先,需要先使用fillna()函数将缺失值填充为一个特殊的取值,例如"missing"。然后,使用get_dummies()函数对该列进行处理,设置参数dummy_na=True,可以保留缺失值的列。 例如,假设有一个DataFrame df,其中的一列是"color",可能存在缺失值。我们想要将"color"列处理成one-hot向量,可以按照如下步骤进行处理: 1. 首先,导入pandas库: import pandas as pd 2. 然后,使用fillna()函数将缺失值填充为"missing": df["color"].fillna("missing", inplace=True) 3. 最后,使用get_dummies()函数将"color"列处理成one-hot向量: df = pd.get_dummies(df, columns=["color"], dummy_na=True) 通过以上步骤,"color"列将被转换成多个列,每个列代表一种颜色,包括缺失值。其中,如果原始值为缺失值,则对应的列值为1,否则为0。 以上就是在pandas中处理缺失值时,将某一列处理成one-hot向量的具体方法。使用get_dummies()函数可以方便地进行独热编码转换,使得数据能够更好地适应机器学习模型的训练和预测。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值