我有这样的数据:
id case2_q6
0 300 3.0
1 304 4.0
2 306 3.0
3 309 1.0
4 311 3.0
5 312 4.0
6 314 NaN
7 315 2.0
8 316 3.0
9 317 3.0
并使用这np.where()
个函数调用来生成新变量:
df['fluid_2'] = np.where((df['case2_q6'] == 1) | (df['case2_q6'] == 2), 1, 0)
现在df
具有列fluid_2
,如下所示:
id case2_q6 fluid_2
0 300 3.0 0
1 304 4.0 0
2 306 3.0 0
3 309 1.0 1
4 311 3.0 0
5 312 4.0 0
6 314 NaN 0
7 315 2.0 1
8 316 3.0 0
9 317 3.0 0
如您所见,索引6
处的NaN
值被转换为0.有没有办法将np.where()
设置为fluid_2
中的NaN值?
所需输出将为:
id case2_q6 fluid_2
0 300 3.0 0
1 304 4.0 0
2 306 3.0 0
3 309 1.0 1
4 311 3.0 0
5 312 4.0 0
6 314 NaN NaN
7 315 2.0 1
8 316 3.0 0
9 317 3.0 0
在那里NaN
美元被保存下来.