Это должно изменить ваш тип данных с плавающего на int
for col in df_cn.columns:
df_cn[col]=df_cn[col].astype(int)
Вам нужно заменить nan на int (например, 0), прежде чем это сделать df.fillna(0, inplace=True)
Вот примерный кадр данных
df=pd.DataFrame({ "D": [1.0, np.nan, 2.0, np.nan, 3.0, np.nan, np.nan, np.nan, 7],"E": [np.nan, 4.0, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan]})
df.fillna(0, inplace=True)
for col in df.columns:
df[col] = df[col].astype(int)
D int32
E int32
dtype: object