python - 使用 Scikit-learn (sklearn) 估算整个 DataFrame(所有列)而不迭代列

标签 python machine-learning scikit-learn dataframe

我想估算 pandas DataFrame 上的所有列...我能想到的唯一方法是逐列如下所示...

有没有一种操作可以让我在不遍历列的情况下估算整个 DataFrame?

#!/usr/bin/python
from sklearn.preprocessing import Imputer
import numpy as np
import pandas as pd

#Imputer
fill_NaN = Imputer(missing_values=np.nan, strategy='mean', axis=1)

#Model 1
DF = pd.DataFrame([[0,1,np.nan],[2,np.nan,3],[np.nan,2,5]])
DF.columns = "c1.c2.c3".split(".")
DF.index = "i1.i2.i3".split(".")

#Impute Series
imputed_DF = DF
for col in DF.columns:
    imputed_column = fill_NaN.fit_transform(DF[col]).T
    #Fill in Series on DataFrame
    imputed_DF[col] = imputed_column

#DF
#c1  c2  c3
#i1   0   1 NaN
#i2   2 NaN   3
#i3 NaN   2   5

#imputed_DF
#c1   c2  c3
#i1   0  1.0   4
#i2   2  1.5   3
#i3   1  2.0   5

最佳答案

如果你想要 meanmedian 你可以这样做:

fill_NaN = Imputer(missing_values=np.nan, strategy='mean', axis=1)
imputed_DF = pd.DataFrame(fill_NaN.fit_transform(DF))
imputed_DF.columns = DF.columns
imputed_DF.index = DF.index

如果你想用 0 或其他东西填充它们,你总是可以这样做:

DF[DF.isnull()] = 0

关于python - 使用 Scikit-learn (sklearn) 估算整个 DataFrame(所有列)而不迭代列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33660836/

相关文章:

python - csv 到 txt python 转换脚本留下 0 字节的文件

image-processing - 图像中的自动菌群检测

python - 负对数似然的减少参数

python - 用于 SVR 回归的 Scikit Learn 包存在问题

python - 如何从多维数据帧创建多条件一维数据帧

python - Nitrous.io、Python 和 Cron 不工作

python - 根据Python中另一个数据帧的行值从一个数据帧中获取列?

python - 机器学习鸡尾酒会音频应用

python - 对不同的拟合模型重复使用逻辑回归对象

python - scikit-learn 有贝叶斯网络吗?如果是,是否有实现供引用