Version 1.1.0¶
Version 1.1.0 | |
---|---|
Previous release: | Version 1.0.0 |
Frame¶
Frames with columns of type
obj64
can now be saved into CSV. The values in the object column will be stringified upon saving. #3064.replace()
now supports numpy scalars. #3164.to_numpy()
now has an option to control memory layout of the resulting numpy array. #3275Void columns can now be used with
dt.sort()
anddt.by()
. In addition, datatable will now skip sorting any column that it knows contains constant values. #3088 #3104 #3108 #3109Saving a frame with a
void
column into Jay no longer leads to a crash. #3074 #3099 #3246Joining with void columns now works correctly. #3094
dt.sum()
now works correctly when applied to the same column asdt.by()
. #3110Fixed a crash which could have occurred when sorting very long identical or nearly identical strings. #3134
It is now possible to sort all columns according to boolean flags in the reverse list #3168
Fixed support for
.max_column_width
option when rendering frames in Jupyter notebooks. #3160Fixed a crash which in rare situations happened in
.to_csv()
due to multithreading. #3176Fixed a crash in
.to_pandas()
when called on keyed frames. #3224Converting a column of
void
type into pandas now produces a pandasobject
column filled withNone
s. Converting such column back into datatable produces avoid
column again. #3063When creating Frame from a list of values, a floating-point
nan
value will now be treated asNone
. In particular,nan
s can now be safely mixed with values of other types, and a list consisting of onlynan
s will turn into a Column of typevoid
. #3083Converting string or object columns to numpy no longer produces a masked array. Instead, we create a regular
object
array, filled withNone
s in place of NAs. Similarly, converting a string or object column to pandas creates a Series withNone
values (instead ofnan
s as before) in place of NAs. #3083
FExpr¶
Class
dt.FExpr
now has method.as_type()
, which behaves exactly as the equivalent base level functiondt.as_type()
.Added functions
dt.rowargmin()
anddt.rowargmin()
to find the index of the largest and smallest values among columns of each row. #2998Added reducer function
dt.prod()
and the corresponding.prod()
method to calculate product of values in columns. #3140Added function
dt.cumsum()
, as well as.cumsum()
method, to calculate the cumulative sum of values per column. #3279Added functions
dt.cummin()
anddt.cummax()
, as well as the corresponding.cummin()
and.cummax()
methods, to calculate the cumulative minimum and maximum of values per column. #3279Added function
dt.cumprod()
, as well as.cumprod()
method, to calculate the cumulative product of values per column. #3279Added reducer functions
dt.countna()
anddt.nunique()
. #2999Class
dt.FExpr
now has method.nunique()
, which behaves exactly as the equivalent base level functiondt.nunique()
.Class
dt.FExpr
now has method.countna()
, which behaves exactly as the equivalent base level functiondt.countna()
.Function
dt.re.match()
now supports case insensitive matching. #3216Function
dt.qcut()
can now be used in a groupby context. #3165dt.qcut()
won’t segfault anymore when used as an i-filter. #3061Fixed selection of
time64
columns byltype
. #3251Fixed selection of
time64
columns by python class name. #3253Fixed
dt.shift()
behaviour on grouped columns. #3269 #3272Reducers and row-wise functions now support
void
columns. #3284
fread¶
When reading Excel files, datetime fields will now be converted into
time64
columns in the resulting frame.When reading Excel files, forward slash, backslash, and their mix are supported as separators for specifying subpath. #3221
fread()
will no longer fail while reading mostly empty files. #3055fread()
will no longer fail when reading excel files on Windows. #3178Parameter
tempdir
is now honored for memory limitedfread()
operation. #3244Parameter
sep=
infread()
will no longer accept values'-'
,'+'
, or'.'
. Previously, these values were allowed but they produced errors during parsing. #3065
Models¶
Fixed a bug in the
LinearModel
that in some cases resulted in the gradient and model coefficients blow up. #3234Fixed undefined behaviour when
LinearModel
predicted on frames with missing values. #3260
General¶
Added properties
.is_array
,.is_boolean
,.is_compound
,.is_float
,.is_integer
,.is_numeric
,.is_object
,.is_string
,.is_temporal
,.is_void
to classdt.Type
. #3101Added support for macOS Big Sur. #3175
Added support for Python 3.10. #3210
Parameter
force=True
in functionrbind()
(or methoddt.Frame.rbind()
) will now allow combining columns of incompatible types. #3062