在使用该库的python脚本中pandas,我有一个数据集,假设有100行,其特征为"X",包含36个NaN值,以及大小为36的列表.
我想用列表中的36个值替换列"X"的所有36个缺失值.
这可能是一个愚蠢的问题,但我经历了所有的文档,无法找到方法来做到这一点.
这是一个例子:
INPUT
Data: X Y
1 8
2 3
NaN 2
NaN 7
1 2
NaN 2
Run Code Online (Sandbox Code Playgroud)
填料
List: [8, 6, 3]
Run Code Online (Sandbox Code Playgroud)
OUTPUT
Data: X Y
1 8
2 3
8 2
6 7
1 2
3 2
Run Code Online (Sandbox Code Playgroud)
从您的数据框开始 df
print(df)
X Y
0 1.0 8
1 2.0 3
2 NaN 2
3 NaN 7
4 1.0 2
5 NaN 2
Run Code Online (Sandbox Code Playgroud)
定义要填充的值(注意:filler列表中的元素数量必须与NaN数据框中的值相同)
filler = [8, 6, 3]
Run Code Online (Sandbox Code Playgroud)
过滤您的列(包含NaN值)并用您的列覆盖选定的行filler
df.X[df.X.isnull()] = filler
df.loc[df.X.isnull(), 'X'] = filler
Run Code Online (Sandbox Code Playgroud)
这使:
print(df)
X Y
0 1.0 8
1 2.0 3
2 8.0 2
3 6.0 7
4 1.0 2
5 3.0 2
Run Code Online (Sandbox Code Playgroud)