如何用熊猫填补缺失的价值?

时间:2019-04-06 16:11:30

标签: python pandas sklearn-pandas

我正在尝试用回归器预测的另一个数组填充缺失值。我不知道如何用该数组中的相应值替换缺少的值。

例如,我有:

[0, 1, 2, NaN, NaN] 

[0, 0, 1, 2, 3]

如何用2和3代替这些NaN?似乎fillna无法做到这一点。

很抱歉提出了一个模棱两可的问题。

2 个答案:

答案 0 :(得分:0)

首先,您必须清楚地识别缺失值的含义(根据数据集,NaN,字符串,整数甚至0可以表示为缺失值)

如果您具有NaN值,最简单的方法是以下方法,您也可以始终通过使用replace将缺失的值转换为nan。

# let df be your dataframe and x be the value you want to fill it with
df.fillna(x)

第二种方法是使用sklearn中的库来插值。我添加了一个使用impute函数的简单代码,假设您缺失的值为'NaN',而您要使用的数据填充方法是该列的均值。

from sklearn.impute import SimpleImputer
df = SimpleImputer(missing_value = np.nan, strategy = 'mean').fit_transform(df)

您可以将策略更改为其他方法,例如列的平均值,中位数或列。这完全取决于哪种方法最适合您

答案 1 :(得分:0)

假设有2个数组:

final InterstitialAd mInterstitialAd = new InterstitialAd(this);
        mInterstitialAd.setAdUnitId("");
        mInterstitialAd.loadAd(new AdRequest.Builder().build());

        mInterstitialAd.setAdListener(new AdListener() {
            @Override
            public void onAdLoaded() {

                if (mInterstitialAd.isLoaded())
                {
                    mInterstitialAd.show();
                }

                else {

                }
            }


        });

您可以通过arr1 = pd.DataFrame([0, 1, 2, np.NaN, np.NaN]) arr2 = pd.DataFrame([0, 0, 1, 2, 3]) NaN的{​​{1}}替换为arr1的相应元素:

arr2

这是执行fillna之后的结果:

arr1.fillna(arr2, inplace=True)
相关问题