You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ewma(Series([1., None, 8.]), com=2., ignore_na=False) # new default
166
+
136
167
- Bug in passing a ``DatetimeIndex`` with a timezone that was not being retained in DataFrame construction from a dict (:issue:`7822`)
137
168
138
169
In prior versions this would drop the timezone.
@@ -583,12 +614,61 @@ Bug Fixes
583
614
- Bug in ``DataFrame.plot`` with ``subplots=True`` may draw unnecessary minor xticks and yticks (:issue:`7801`)
584
615
- Bug in ``StataReader`` which did not read variable labels in 117 files due to difference between Stata documentation and implementation (:issue:`7816`)
585
616
- Bug in ``StataReader`` where strings were always converted to 244 characters-fixed width irrespective of underlying string size (:issue:`7858`)
586
-
- Bug in ``expanding_cov``, ``expanding_corr``, ``rolling_cov``, ``rolling_cov``, ``ewmcov``, and ``ewmcorr``
617
+
618
+
- Bug in :func:`expanding_cov`, :func:`expanding_corr`, :func:`rolling_cov`, :func:`rolling_cor`, :func:`ewmcov`, and :func:`ewmcorr`
587
619
returning results with columns sorted by name and producing an error for non-unique columns;
588
620
now handles non-unique columns and returns columns in original order
589
621
(except for the case of two DataFrames with ``pairwise=False``, where behavior is unchanged) (:issue:`7542`)
590
622
- Bug in :func:`rolling_count` and ``expanding_*`` functions unnecessarily producing error message for zero-length data (:issue:`8056`)
591
623
- Bug in :func:`rolling_apply` and :func:`expanding_apply` interpreting ``min_periods=0`` as ``min_periods=1`` (:issue:`8080`)
624
+
- Bug in :func:`expanding_std` and :func:`expanding_var` for a single value producing a confusing error message (:issue:`7900`)
625
+
- Bug in :func:`rolling_std` and :func:`rolling_var` for a single value producing ``0`` rather than ``NaN`` (:issue:`7900`)
626
+
627
+
- Bug in :func:`ewmstd`, :func:`ewmvol`, :func:`ewmvar`, and :func:`ewmcov`
628
+
calculation of de-biasing factors when ``bias=False`` (the default).
629
+
Previously an incorrect constant factor was used, based on ``adjust=True``, ``ignore_na=True``,
630
+
and an infinite number of observations.
631
+
Now a different factor is used for each entry, based on the actual weights
632
+
(analogous to the usual ``N/(N-1)`` factor).
633
+
In particular, for a single point a value of ``NaN`` is returned when ``bias=False``,
634
+
whereas previously a value of (approximately) ``0`` was returned.
635
+
636
+
For example, consider the following pre-0.15.0 results for ``ewmvar(..., bias=False)``,
637
+
and the corresponding debiasing factors:
638
+
639
+
.. ipython:: python
640
+
641
+
s = Series([1., 2., 0., 4.])
642
+
643
+
.. code-block:: python
644
+
645
+
In [69]: ewmvar(s, com=2., bias=False)
646
+
Out[69]:
647
+
0 -2.775558e-16
648
+
1 3.000000e-01
649
+
2 9.556787e-01
650
+
3 3.585799e+00
651
+
dtype: float64
652
+
653
+
In [70]: ewmvar(s, com=2., bias=False) / ewmvar(s, com=2., bias=True)
654
+
Out[70]:
655
+
0 1.25
656
+
1 1.25
657
+
2 1.25
658
+
3 1.25
659
+
dtype: float64
660
+
661
+
Note that entry ``0`` is approximately 0, and the debiasing factors are a constant 1.25.
662
+
By comparison, the following 0.15.0 results have a ``NaN`` for entry ``0``,
663
+
and the debiasing factors are decreasing (towards 1.25):
0 commit comments