我有一个数据帧:
A B
0 xyz Lena
1 NaN J.Brooke
2 NaN B.Izzie
3 NaN B.Rhodes
4 NaN J.Keith
.....
我想比较B列的值,如果行值以B开头,那么在它的相邻行中,应该写入一个新的列,同样地,如果J,那么应该写入旧的列。下面是我所期待的:
A B
0 xyz Lena
1 old J.Brooke
2 new B.Izzie
3 new B.Rhodes
4 old J.Keith
.....
我不明白我怎么能做到这一点。首先,我可以使用startswith()
,但是如何比较一行值,然后将所需的字段值放在另一列的相邻行中呢?
这是一个小案例,我尝试了很多更复杂的事情…熊猫确实很强大!你知道吗
使用
pd.Series.fillna
:输出:
如果需要按条件设置新值,请将^{} 与^{} 一起使用:
如果还需要通过^{} 测试缺失值链条件:
或者使用^{} :
尝试使用loc
我添加了.isnull()检查,因为如果colA中已经存在某些内容,则不会被替换,但如果不希望,则可以忽略该检查
相关问题 更多 >
编程相关推荐