1.在对数据进行分析时我们会遇到缺失值,其中有一部分缺失值是用"?"来表示的,我们对其进行填补时可能会出现"BadInputError: Data is not float."的错误,因此我们可以用replace将其转换为nan
import numpy as np
import pandas as pd
data = pd.DataFrame(np.random.random(9).reshape((3,3)))
print(data)
0 1 2
0 0.277842 0.933150 0.686117
1 0.245226 0.040764 0.198539
2 0.042279 0.013079 0.245121
data.iloc[np.random.randint(2),np.random.randint(2)] = "?"
print(data)
0 1 2
0 0.277842 0.933150 0.686117
1 ? 0.040764 0.198539
2 0.0422795 0.013079 0.245121
data = data00.replace("?",np.nan)
0 1 2
0 0.277842 0.933150 0.686117
1 NaN 0.040764 0.198539
2 0.042279 0.013079 0.245121
2.如果想要对data中的nan数据填充0或者其他值也可以用replace
data = data.replace("nan", 0)
data.iloc[1,0] +9
9
#如果是下面的代码
data = data.fillna(0)
data.iloc[1,0] + 9
......
......(出现错误)
TypeError: must be str, not int
3.可以用data.fillna(0)用0来填充。