我正在尝试用回归器预测的另一个数组填充缺失值。我不知道如何用该数组中的相应值替换缺少的值。
例如,我有:
[0, 1, 2, NaN, NaN]
和
[0, 0, 1, 2, 3]
如何用2和3代替这些NaN?似乎fillna无法做到这一点。
很抱歉提出了一个模棱两可的问题。
答案 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)