pandas 使用均值填充缺失值列的小技巧分享

yipeiwu_com7年前Python基础

pd.DataFrame中通常含有许多特征,有时候需要对每个含有缺失值的列,都用均值进行填充,代码实现可以这样:

for column in list(df.columns[df.isnull().sum() > 0]):
  mean_val = df[column].mean()
  df[column].fillna(mean_val, inplace=True)

# -------代码分解-------
# 判断哪些列有缺失值,得到series对象
df.isnull().sum() > 0
# output
contributors           True
coordinates            True
created_at            False
display_text_range        False
entities             False
extended_entities         True
favorite_count          False
favorited            False
full_text            False
geo                True
id                False
id_str              False
...

# 根据上一步结果,筛选需要填充的列
df.columns[df.isnull().sum() > 0]
# output
Index(['contributors', 'coordinates', 'extended_entities', 'geo',
    'in_reply_to_screen_name', 'in_reply_to_status_id',
    'in_reply_to_status_id_str', 'in_reply_to_user_id',
    'in_reply_to_user_id_str', 'place', 'possibly_sensitive',
    'possibly_sensitive_appealable', 'quoted_status', 'quoted_status_id',
    'quoted_status_id_str', 'retweeted_status'],
   dtype='object')

以上这篇pandas 使用均值填充缺失值列的小技巧分享就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

pandas 空的dataframe 插入列名的示例

如下所示: colum = ['性别','年龄','M','样本类型'] + muta_list + ['B'] data1 = pd.DataFrame(columns=colum...

Python中一行和多行import模块问题

Python 不建议用一行 import 所有模块,而是推荐用多行 import 来导入模块。更多的是出于操作便利性的原因,与代码本身无关: 更易于阅读 import fred 比...

python 生成器和迭代器的原理解析

一、生成器简介 在python中,生成器是根据某种算法边循环边计算的一种机制。主要就是用于操作大量数据的时候,一般我们会将操作的数据读入内存中处理,可以计算机的内存是比较宝贵的资源,我...

浅谈python中np.array的shape( ,)与( ,1)的区别

如下所示: >>> import numpy as np >>> x = np.array([1, 2]) >>> y = np...

在dataframe两列日期相减并且得到具体的月数实例

如下所示: df = pd.DataFrame(np.random.randn(6,4), index=pd.date_range('20130101', periods=6), c...