There's also the each_replacena(dataframe[:col], replacement) function, but
that only operates on columns and doesn't appear to replace in-place. A
straightforward in-place replacement would look something like:
function replacena!(dframe::DataFrame, replacement::Any)
nrows, ncols = size(dframe)
for j = 1:ncols; for i = 1:nrows
if isna(dframe[i,j]); dframe[i,j] = replacement; end
end
end
end
On Wednesday, September 9, 2015 at 1:42:37 PM UTC-5, Cedric St-Jean wrote:
>
> Just found the DataFrames.isna() function, so that's solved, only the
> iteration question remains.
>
> On Wednesday, September 9, 2015 at 2:26:23 PM UTC-4, Cedric St-Jean wrote:
>>
>> In 0.3, what's the best way of replacing all NA with a given value (eg.
>> 0)? Pandas has df.fillna. I've noticed that
>>
>> isnan(DataFrames.NA)
>>
>> is undefined and
>>
>> DataFrames.NA == DataFrames.NA
>>
>> is NA. The docs say it's a singleton, so I assume that I should use ===
>> to check if it's NA? Likewise, how should I iterate over all elements? I
>> was disappointed that `map(fun, df)` is not defined (is that an omission?
>> it's defined for matrices). Should I just go over all columns one by one?
>>
>> Cédric
>>
>