data = [{'a': 12, 'b': 2, 'c': 3, 'd': 'bat'},
{'a': 'NaN', 'b': 20, 'c': 30, 'd': 'ball'},
{'a': 4, 'b': 20, 'c': 30, 'd': 'pin'}]
df = pd.DataFrame(data)
字符串
我很难弄清楚如何根据列c和d设置的条件将列a中的NaN值替换为列b中的值。例如,如果我想在c > 20且'd' = 'ball的情况下用B列的值(分别为2和20)替换a列中的NaN值。
有人能帮我一下吗?
我已经尝试了很多使用df.loc和df.mask的解决方案,但都没有奏效。
2条答案
按热度按时间x9ybnkn61#
您可以使用
df.apply
执行此操作字符串
由于您没有满足条件的行,因此可以使用此选项进行测试
型
cvxl0en22#
试试看:
字符串