'Python Rolling sum for 32 bit vs 64 bit
I am getting strange results when doing rollingSum for 64 bit vs 32 bit precision. Please see the code for display 1 vs 2. Display 1 shows the right rolling sum but Display 2 shows empty result dataframe. I am using python 3.9 FYI
import pandas as pd
import numpy as np
dfa = pd.DataFrame(np.random.randint(0,20,size=(5, 4)), columns=list('ABCD'))
dfa=dfa.astype('float64')
dfb=dfa.astype('float32')
display(dfa.rolling(2, axis="columns").sum())
display(dfb.rolling(2, axis="columns").sum())
Results:
Display1:
A B C D
0 NaN 20.0 20.0 38.0
1 NaN 35.0 31.0 34.0
2 NaN 15.0 14.0 16.0
3 NaN 13.0 29.0 34.0
4 NaN 19.0 25.0 23.0
Display2:
0
1
2
3
4
Solution 1:[1]
This has been solved in Pandas version 1.4.0
BUG: dataframe.rolling along rows drops float16
BUG: DataFrame.rolling(axis=1) operations drop/ignore float16 and float32 columns
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 |