'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