【发布时间】:2017-06-26 02:52:44
【问题描述】:
对于以下数据框:
index Sent col_1 col_2 col_3
1 AB NaN DD CC
1 0 1 0
2 SA FA FB NaN
2 1 1 NaN
3 FF Sha NaN PA
3 1 0 1
当 NAN 在两个连续行中不重复时,我需要将 col_1、col_2、col_3 中的 NAN 值替换为“F”。输出是这样的:
index Sent col_1 col_2 col_3
1 AB F DD CC
1 0 1 0
2 SA FA FB NaN
2 1 1 NaN
3 FF Sha F PA
3 1 0 1
This is my code:
for col in ['col_1', 'col_2', 'col_3']:
data = np.reshape(df[col].values, (-1, 2))
need_fill = np.logical_and(data[:, 0] == '', data[:, 1] != '')
data[np.where(need_fill),1] = 'F'
但是它将 NAN 值下的 0 替换为 F。我如何修复将 NAN 替换为 F 的代码。
【问题讨论】:
-
NAN与NaN的含义相同吗?NA是否也与NaN相同? -
是的,它们是一样的,对不起
-
那么对于第二个
NA的col_3不应该被F替换吗? -
否,因为它上面的值也是NaN。如果 NaN 下的值为 0 或 1,我们将其转换为 F。
-
简单地更改测试有什么问题?