假设我有一个数据帧,其中每5行都填充了NAS,如下所示:
Number | A | B | C |
---|---|---|---|
4 | 2 | 1 | 0 |
5 | NA | NA | NA |
6 | 5 | 6 | 7 |
100 | 3 | 5 | 2 |
我想用第3行的值替换您可以在第5行找到的NA值.
到目前为止,我try 过的是:
df.loc[df['Number'] % 5 == 0, ['A','B','C']] = df.loc[df['Number'] % 3 == 0, ['A','B','C']]
这种方法不会抛出任何错误,但它不会做任何事情.但是,如果我将赋值的右侧替换为常量,则可以很好地工作,如下所示:
df.loc[df['Number'] % 5 == 0, ['A','B','C']] = 3
你有什么办法让它发挥作用吗?
编辑:
我不想给出完整的原始任务,但是这个虚拟的例子有点错误.让我们假设右侧的行数与左侧的行数相同.主要目标仍然是根据条件用数据帧的子集替换每5行的值.我希望这能更容易理解一些,并为错别化感到抱歉.