import pandas as pd
import numpy as np
df = pd.DataFrame([[1, 2, 3],
[np.nan, np.nan, 2],
[np.nan, np.nan, np.nan],
[8, 8, np.nan]])
df
df.fillna({0:10, 1:11, 2:22})
有人问, 列中以为有了nan, 所以每列都成了float类型的, 使用0, 1, 2的键对应的值应该是无法替换数值0.0, 1.0, 2.0的
其实上面代码中的键并不是df中的值, 而是列索引, 并且这个函数是补充空值, 并不是替换